我正在尝试使用$ .getJSON向我的网站发出跨域请求,但它无效:回调函数没有调用。我找到了这个简单的例子:
$.getJSON('http://twitter.com/users/usejquery.json?callback=?', function(data) {
console.log(data);
});
它适用于Twitter,但不适用于我的网站。我复制了文件,Twitter的服务器响应头,它仍然无法正常工作。我不知道如何调试它并找出问题所在。
任何人都知道它会是什么?
答案 0 :(得分:1)
你退回JSONP了吗? callback
参数的技巧是,它不是 JSON ,而是返回,但是以“JSON”作为参数的JavaScript函数调用。请查看提到的Twitter API调用的结果。
jQuery.ajax()文档也简要介绍了这一点(搜索dataType和JSONP)。
至于为什么Twitter响应的副本不起作用:getJSON调用的callback=?
部分将填充随机函数名称。 jQuery组成的名称是不与任何已存在的函数冲突,然后删除该函数。