【发布时间】:2013-12-20 18:53:30
【问题描述】:
我返回的 JSONP 数据显示在控制台中,格式正确。
group({
"blah": "blah",
"blahblah": "blahblah",
"blahblahblah": "blahblahblah"
});
这是我的 ajax 调用。
$.ajax({
type: 'GET',
url: 'test.php',
dataType: 'jsonp',
cache: false,
jsonpCallback: 'group',
statusCode: {
404: function() {
alert( "page not found" );
}
},
success: function(group){
console.log(group);
$('#theTest').append(group.name);
},
error: function(response1, response2, response3){
console.log("Fail!");
console.log(response1);
console.log(response2);
console.log(response3);
}
});
JSON 用“组”包装。但是,当我尝试访问该数据时,我无法这样做。
- 在控制台中有值的 group.name 在我将其放在网站上时不会显示。
- group[0] 返回 g
- group[1] 返回 r
- group[2] 返回 o
我很困惑为什么它会以这种方式退回。有人能指出我正确的方向吗?
【问题讨论】:
-
你为什么要设置
jsonpCallback: 'group'? -
这是个好问题。我不知道。我之前在数据中设置了回调:“组”,但移动了它。我的 PHP 文件正在寻找回调。
-
您无需手动设置回调或其名称。当您执行
dataType: 'jsonp'时,jQuery 会在您的 URL 中添加一个GET参数,并使用它生成的回调名称:$_GET['callback']。当您的 PHP 脚本返回时,您应该使用它:echo $_GET['callback'].'('.json_encode($data).')';.