这是我的PHP页面(在其他URL上)...
<?php
header('Content-Type: application/json');
?>
stat({"online":1});
这是我的jQuery:
$(document).ready(function(){
var url = 'http://blah.com/jsontest.php?callback=stat';
$.getJSON(url, function(data) {
if (data.online !== undefined) {
console.log('yay');
}
}).error(function() {
console.log('no');
});
});
由于某种原因,它总是记录为``否'',即它运行错误功能。
使用jQuery 1.5.2有什么想法吗?
最佳答案
首先,JSON-P不是JSON。内容类型应为application/javascript
。一些浏览器可能由于不安全而拒绝用作JSON的JSON-P。
其次,getJSON期望您请求的URL的回调方法名称带有?
(并且您将需要使PHP注意$_GET['callback']
)。
第三,如果修复不起作用,请查看Firebug / Chrome调试器/ Dragonfly / etc等中的“网络”选项卡,看看实际上有什么数据通过网络传输。
关于php - 对PHP页面的JSONP请求不起作用(跨域),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5896965/