我的服务器端代码是:
$bus = array(
'meaning' => $name
);
$jsonstring = json_encode($bus);
echo $_GET['callback'].'(' . $jsonstring. ')';
屏幕上显示的值正确-?word=heart({"meaning":"heart"})
但当我用下面的代码阅读它时,它将意义的值打印为11200665987893779229_1460521505942
$(document).ready(function(){
$.getJSON('http://mydomain?callback=?','word=heart',function(res){
document.getElementById('print').innerText=''+res.meaning;
});
});
但是当我这样做的时候:
$bus = array(
'meaning' => 'heart'
);
它正在打印正确的值,即heart
我不知道为什么会发生这种情况,以及如何获得正确的值(我正在访问来自不同域的数据)。
JSON.parse()将传递到函数中的任何JSON字符串转换为JSON对象。
$(document).ready(function(){
$.getJSON('http://mydomain?callback=?','word=heart',function(res){
obj = JSON.parse(res);
document.getElementById('print').innerText=''+obj.meaning;
});
});
类似的帖子在这里