我的服务器端代码是:
$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
我不知道为什么会发生这种情况以及如何获取正确的值(我正在访问来自不同域的数据)。
答案 0 :(得分:0)
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;
});
});