簡體   English   中英

存儲在 PHP 變量中的 AJAX 響應的一部分

[英]A part of AJAX response storing in PHP variable

我需要將一段數據存儲到 PHP 變量中,該變量是通過輸入框中的 AJAX 響應接收的。 我怎樣才能做到這一點?

<script type="text/javascript">
  $(document).ready(function() {

    $("#user_id").change(function() {
      var id = $(this).val();
      var dataString = 'user_id='+ id;

      $.ajax({
        type: "POST",
        url: "wmat_details.php",
        data: dataString,
        cache: false,
        success: function(result) {
          var data = result.split(",");

          $('#name').val(data[0]);
          $('#email').val(data[1]);
          $('#ref_id').val(data[2]);
          $('#candidature_start').val(data[3]);
          $('#candidature_end').val(data[4]);
          $('#default_attempts').val(data[5]);
          $('#existing_complimentary').val(data[6]);
          $('#wmat_start').val(data[9]);
          $('#wmat_end').val(data[10]);
          $('#attempts_taken').val(data[11]);
        }
      });
    });
  });
</script>

如上面的代碼所示,我想存儲$('#attempts_taken').val(data[11]); 這個值到一個 PHP 變量。 任何見解表示贊賞。

不幸的是你不能。

PHP 是服務器端,而 jQuery (JS) 是客戶端。 它們是兩個獨立的抽象層,僅在客戶端調用服務器時交互。

我沒有足夠的信息來說明您需要對數據 [11] 做什么,但您似乎只有一種選擇:對將操作數據 [11] 的 php 文件進行連續的 AJAX 調用。

連續的 AJAX 調用必須從第一個調用成功回調內部執行; 像這樣:

success: function(result){
     // Your on success logic
     // ...
     // Prepare the object to send to the server
     var objData = {};
     objData.attemptsTaken = data[11];
     // Execute the second AJAX call to the server
     $.ajax({
         type: "POST",
         url: "second_call_destination_file.php",
         data: objData,
         success: function(result){
             // Do something on success
         },
         error: function(){
             // Do something on error
         },
         complete: function(){
             // Do something on complete (executed after success and error)
         }
}

您不能將 ajax 響應存儲到 php 變量中。

方式1:

您可以進行另一個 ajax 調用。

方式2:

你可以設置會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM