-1

以下の PHP コードと同じ機能を持つ JQuery AJAX リクエストを作成する必要があります。

質問:

PHP変数(merchantId)をAJAXに渡すにはどうすればよいですか?

成功関数はどうする?

PHP コード:

    <form method="get" action="http://www.example.com/payments/paymentStore.html">
    <input type="hidden" name="merchantId" value="<?php=$merchantid?>">
    <input type="submit" value="Pay" name="PayKZM">
    </form>

Ajax 呼び出し

<div class="buttons">
  <div class="right">

<input type="button" value="<?php echo $button_confirm; ?>" id="button-confirm" class="button" />
  </div>
</div>
<script type="text/javascript"><!--
$('#button-confirm').bind('click', function() {
    $.ajax({ 
        type: 'GET',
        url: 'http://www.example.com/payments/paymentStore.html',
        data: "merchantId="+$merchantId,
        success: function() {
            location = '<?php echo $continue; ?>';
        }       
    });
});
//--></script> 
4

2 に答える 2

1

あなたは非常に近いです。非表示の入力フィールドから値を取得するだけです:

HTML:

<input type="hidden" id="merchantId" name="merchantId" value="<?php=$merchantid?>">

JS:

$('#button-confirm').bind('click', function() {
    var merchant_id = $('#merchantId').val();
    $.ajax({ 
        type: 'GET',
        url: 'http://www.example.com/payments/paymentStore.html',
        data: "merchantId="+merchant_id,
        success: function() {
            location = '<?php echo $continue; ?>';
        }       
    });
});

もちろん、場所を PHP 文字列を介して JS セクションに渡すという事実を見ると、簡単に実行できます。

...
data: "merchantId='<?php echo $merchantId; ?>'",
...
于 2013-03-12T05:54:59.190 に答える
0

これを試して

  <div class="buttons">
  <div class="right">

 <input type="button" value="<?php echo $button_confirm; ?>" 
   id="button-confirm" class="button" onclick='functionname(".$merchantid.")' />
 </div>
</div>
 <script type="text/javascript"><!--
  public functionname(merchan_id) {
$.ajax({ 
    type: 'GET',
    url: 'http://www.example.com/payments/paymentStore.html',
    data: "merchantId="+merchan_id,
    success: function() {
        location = '<?php echo $continue; ?>';
    }       
});
});
 </script> 
于 2013-03-12T05:28:57.760 に答える