簡體   English   中英

Ajax呼叫未發送到POST

[英]Ajax call not sending to POST

我有一個包含AJAX的函數,用於發送從localStorage檢索到的JSON對象。 由於某種原因,盡管我非常確定AJAX調用能夠成功進行,但在我的PHP腳本中,它從未在$ _POST變量中顯示任何內容。 我的代碼如下:

JavaScript:

function processResults(){
      var finalResults = localStorage.getItem('results');
      finalResults = JSON.stringify(finalResults);

      $.ajax({
        type: 'POST',
        url: '../DB_add.php',
        dataType: 'json',
        data: {'answers': finalResults},
        success: function(data){
          console.log(data);
          console.log('Success');
        }
      })
    }

php腳本:

if(isset($_POST['answers'])){
$obj = json_decode($_POST['answers']);
print_r ($obj);
}

對於為什么不能正常工作的任何幫助,將不勝感激。 謝謝。

到目前為止,我已經嘗試了所有提供的選項,但似乎沒有任何效果。 我完全不知所措。

對於那些詢問的人,finalResult變量的結構為:

[{"answer":0,"elapsed_time":1378,"stimulus_id":"8","task_id":1},{"answer":1,"elapsed_time":157,"stimulus_id":"2","task_id":1},{"answer":1,"elapsed_time":169,"stimulus_id":"1","task_id":1}, etc....

dataType: 'json'要求您在PHP中輸出的內容( success部分接受的data )必須是有效的json。

因此有效的json將在PHP中:

if(isset($_POST['answers'])){
    echo $_POST['answers'];
}

無需解碼,它已經是json字符串。 沒有var_dump ,沒有print_r

我將在您的Ajax請求中刪除dataType屬性,並修改數據的結構:

$.ajax({
    type: 'POST',
    url: '../DB_add.php',
    data: 'answers='&finalResults,
    success: function(data){
      console.log(data);
      console.log('Success');
    }
})

在第二次中,我將測試在PHP端收到的內容:

if(isset($_POST['answers'])){
    var_dump(json_encode($_POST['answers']));
}

如果您使用JSON.stringify發送, JSON.stringify刪除dataType: 'json',

JS。

function processResults(){
      var finalResults = localStorage.getItem('results');
      finalResults = JSON.stringify(finalResults);

      $.ajax({
        type: 'POST',
        url: '../DB_add.php',
        data: {'answers': finalResults},
        success: function(data){
          console.log(data);
          console.log('Success');
        }
      })
    }

PHP代碼:

if (!empty($_REQUEST['answers'])) {

$answers = json_decode(stripslashes($request['answers']));

var_dump($answers);

}

暫無
暫無

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

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