我有一个使用此网址的工作示例
http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=jQuery16201154390876987067_1314382298849&tags=cat&tagmode=any&format=json&_=1314382298856
给了我这个json结果(这是它的开头:)
jQuery162031768042474373037_1314374838725({
"title": "Recent Uploads tagged cat",
"link": "http://www.flickr.com/photos/tags/cat/",
当我在jslint中粘贴它时,它表示它无效json
现在我有自己的json服务,它会返回:
{
"one0": "file201101_01.jpg ",
"one1": "file201101_02.jpg ",
"one2": "file201101_03.jpg ",
"one3": "file201101_04.jpg "
}
根据jslint是有效的json。
现在第一个(似乎无效)一个是由jquery.getJSON读取的,但是我的(看起来有效)不是。
当我查看firebug时,它说'没有内容从我的服务中返回,但显示的网址是在我将其复制粘贴到浏览器中时返回内容。
这是我的代码:
$.getJSON("http://jadieda.com/myservice.php",
{ year: "2011",
id : "1"
},
function(data)
{
alert(data);
});
警报(数据)没有关闭,所以我的猜测是服务的调用没有返回有效的json(因为这来自帮助:从jQuery 1.4开始,如果JSON文件包含语法错误,请求通常会无声地失败)
答案 0 :(得分:1)
那是JSONP这是获取跨域AJAX的一种方式。
我不知道为什么你的服务没有看到PHP就没有返回数据。但如果状态代码是204,则没有内容。那么你很可能不是echo/print
任何数据;