我正在尝试返回一个1717长的令牌,以#34; =="结尾使用php到Ajax。
在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);
}
});
我收到的错误是:
SyntaxError:位于1718的Json中的意外数字
我查看了PHP日志,并且令牌与chrome中的错误消息中显示的内容相匹配,但我仍然收到此消息。
我可以取一个随机数,它会很好,但是如果我使用生成的令牌就会失败。
如何解决此问题。
答案 0 :(得分:0)
问题是我在Wordpress Framework中并且需要使用wp_send_json()来返回当前值,否则它会在json数据的末尾添加0,从而导致错误。
正确的陈述应该是:
echo wp_send_json($token);