我想返回一个1717长的令牌,以“==”结尾使用PHP到Ajax。JSON编码发送错误时,发送字符串,结束于==
在PHP中,我将在返回值是这样:
echo json_encode($token);
在JavaScript中Ajax是:
$.ajax({
type: "GET",
dataType:"JSON",
url: myajax.ajax_url,
data:{
action: "get_token"
},
beforeSend: function(){},
success: function(data){
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown){
console.warn(jqXHR.responseText)
alert(jqXHR + " :: " + textStatus +" :: " +errorThrown);
}
});
我recieving的错误是:
语法错误:在意外的数Json在位置1718
我看看PHP日志和令牌匹配chrome中的错误消息中显示了什么,但我仍然收到此消息。
我可以采取一个随机数,它会通过罚款,但如果我使用生成的令牌失败。
我该如何解决此问题。
是否'json_encode()''回报或string''FALSE'?对于你的问题** ** ADD **仅仅是char 1718'上的json是不是很重要? – Xorifelse
返回true,我可以将它打印到错误日志中。经过进一步检查,看起来函数或传输在编码结尾添加了0。所以它似乎“encodeddata”0 – Brett