weixin_33681778 2015-04-16 14:05 采纳率: 0%
浏览 14

Ajax呼叫未发送到POST

I have a function that includes an AJAX to send a JSON object retrieved from localStorage. For some reason, in my PHP script, it never shows anything in the $_POST variable, despite me being pretty sure the AJAX call goes through successfully. My code is as follows:

The 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');
        }
      })
    }

The php script:

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

Any help as to why this isn't working would be greatly appreciated. Thank you.

I've tried all of the options given so far, and nothing seems to be working. I'm at a total loss.

For those asking, the finalResult variable is structured as:

[{"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....
  • 写回答

3条回答 默认 最新

  • weixin_33694172 2015-04-16 14:18
    关注

    I would remove the dataType property in your Ajax request and modify the structure of your data :

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

    And in a second time I would test what I receive on PHP side :

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

报告相同问题?