$ .getJSON无法使用我的网站

时间:2011-01-21 10:08:32

标签: jquery cross-domain getjson

我正在尝试使用$ .getJSON向我的网站发出跨域请求,但它无效:回调函数没有调用。我找到了这个简单的例子:

 $.getJSON('http://twitter.com/users/usejquery.json?callback=?', function(data) { 
  console.log(data); 
 });

它适用于Twitter,但不适用于我的网站。我复制了文件,Twitter的服务器响应头,它仍然无法正常工作。我不知道如何调试它并找出问题所在。

任何人都知道它会是什么?

1 个答案:

答案 0 :(得分:1)

你退回JSONP了吗? callback参数的技巧是,它不是 JSON ,而是返回,但是以“JSON”作为参数的JavaScript函数调用。请查看提到的Twitter API调用的结果。

jQuery.ajax()文档也简要介绍了这一点(搜索dataType和JSONP)。

至于为什么Twitter响应的副本不起作用:getJSON调用的callback=?部分将填充随机函数名称。 jQuery组成的名称是不与任何已存在的函数冲突,然后删除该函数。