Javascript Ajax调用未发送到POST

Javascript Ajax调用未发送到POST,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个包含AJAX的函数,用于发送从localStorage检索的JSON对象。出于某种原因,在我的PHP脚本中,$\u POST变量中从未显示任何内容,尽管我非常确定AJAX调用成功。我的代码如下: javascript: function processResults(){ var finalResults = localStorage.getItem('results'); finalResults = JSON.stringify(finalResults);

我有一个包含AJAX的函数,用于发送从localStorage检索的JSON对象。出于某种原因,在我的PHP脚本中,$\u POST变量中从未显示任何内容,尽管我非常确定AJAX调用成功。我的代码如下:

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....

我将删除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发送,请删除
dataType:'json',

JS

PHP代码:

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

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

var_dump($answers);

}

dataType:'json'
要求您在PHP中输出的内容(
data
success
部分中接受)必须是有效的json

因此,有效的json将使用PHP:

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

不需要解码,它已经是json字符串了。无
var\u dump
,无
print\u r

查看
network
下的浏览器控制台(开发者工具),并查看有关该请求的更多详细信息。你能分享输出吗?代码看起来不错,var'finalResults'设置了吗?尝试
console.log(最终结果)并检查其内容。我想问题就从这里开始了。“非常确定AJAX调用”——我首先要确定。然后我会确保finalResults是好的(见上面的评论),如果你的帖子出现了,我也可以这样做,但是json_解码会将其变成NULL。你能在第一行打印吗?json_解码将以静默方式失败,当它发现错误时只返回NULL。我得到一个200 OK响应,它正确地显示了附加的表单数据。它将类型显示为text/html。这会有什么不同吗?我试过了,在console.log中收到了“success”,但是php端没有显示任何内容。您可以添加一个想要发送的
finalResults
值的示例吗?
dataType
与您发送的内容无关。给出的解释是一个巨大的红鲱鱼,无法解释解决方案的实际内容。
if(isset($_POST['answers'])){
    echo $_POST['answers'];
}