JSON:位于0的JSON中的意外标记o

时间:2017-01-23 04:34:30

标签: php jquery json ajax

我从昨天开始收到此错误位于0的JSON中的意外标记<,但尚未解决。

这是我的jquery

$("body").on("click", "input.add", function(event) {

    var myData = {"p":'Hello'};
    var myJSON = JSON.stringify(myData);
    $.ajax({
        type:"POST",
        url:'test2.php',
        data:{'mydata':myJSON},
        dataType:"json",
        cache:false,
        success: function(result){
            $(".message").html('SUCCESS: '+result);
        },
        error: function(xhr, ajaxOptions , thrownError){
            $(".message").html('ERROR: '+thrownError);
            console.log("Data: "+thrownError);                  
        }
    });
    event.preventDefault();
    return false;
}); 

这是我的PHP代码:

header('Content-Type:application/json');
var_dump(json_decode($_POST['mydata']));

if(isset($_POST['mydata'])){
    echo 'found';
}
else
    echo 'Not found';

请帮助我,我在哪里做错了,我的错误在哪里,我应该改变什么?

2 个答案:

答案 0 :(得分:0)

您正在返回字符串并设置为json删除此行

  dataType:"json",

还评论来自ajax响应的var dump

答案 1 :(得分:0)

您无法使用$_POST获取JSON类型数据,因此您必须使用L

$paramsStr  = file_get_contents('php://input');
$params     = json_decode($paramsStr, true);