JSON正在运行,但无法使JSONP工作

时间:2012-02-29 17:08:41

标签: jquery json

你好我一直在努力让som json工作。

我写了这段小代码:

$.getJSON("/calendar/event/test", function(data) {
  $.each(data, function(i,item){
    $('#test').append('<li>' + item.title + '</li>');
  });
});

这非常有效,并附加从JSON对象返回的标题......

当我想要一个webapp来检索数据时,什么是行不通的。此webapp位于另一个域。

我尝试通过执行以下操作将上述JSON代码更改为简单的JSONP代码:

$.getJSON("http://domainname.com/calendar/event/test?callback=?", function(data) {
  $.each(data, function(i,item){
    $('#test').append('<li>' + item.title + '</li>');
  });
});

但这不起作用。我收到此错误代码:parsererror - 错误:jQuery1710762373415816335_1330535356545未被调用...但是,如果我尝试通过JSONP检索某些数据,例如维基百科 - 这是有效的。那么也许它是服务器设置或类似的东西?

我无法弄明白这一点,任何方向的任何帮助都很高兴!

提前致谢!

1 个答案:

答案 0 :(得分:2)

您的服务器需要返回正确的JSONP。 JSON与JSONP不同,JSONP有一个添加的层,因为它包含在一个以包含回调名称的GET参数命名的回调中。例如,这将是有效的JSONP:

thecallbackname({"key":"value"})