Ajax响应中的杂散字符?
|
我正在使用wordpress。我用jQuery进行了ajax调用,PHP回显了一个JSON对象,但是我在javascript中获得的响应的末尾添加了\“ 0 \”,这使得对json对象的解码失败。
PHP:
function newspaper_getpost() {
$d = array(\'foo\' => \'bar\', \'baz\' => \'long\');
echo json_encode($d);
}
add_action(\'wp_ajax_newspaper_getpost\', \'newspaper_getpost\');
JS:
$.post(MyAjax.ajaxurl,{
action : \'newspaper_getpost\',
postID : $(this).val()
}, function(response) {
console.log(response);
});
输出:
{\"foo\":\"bar\",\"baz\":\"long\"}0
我试过了
echo substr( json_encode($d), 0, -1);
并得到
{\"foo\":\"bar\",\"baz\":\"long\"0
因此,我确定它不是PHP方面。我可以在响应的末尾加上\“ 0 \”,但是我感觉更大的事情正在发生,我不想做一个廉价的修改来使其正常工作。 jQuery 1.6.1顺便说一句。谢谢!
没有找到相关结果
已邀请:
3 个回复
蓄荣糖些
,但0仍然存在。您需要查看PHP / HTML的其余部分,因为某个地方正在输出一个流浪字符。 如果要添加exit();回声之后,您会看到0消失。
禽兢玫坞劲
屠创氓读叔
php代码之后/之内有一些回声。寻找一个print_r(),echo或类似的东西。