我正在尝试使用 jquery 在 Facebook 墙上发表评论。
但我的 ajax 调用不允许外部 url 。
谁能解释一下我们如何在 jquery 中使用外部 url ?
下面是我的代码:
var fbUrl="https://graph.facebook.com/16453004404_481759124404/comments?access_token=my_token";
$.ajax({
url: fbURL ,
data: "message="+commentdata,
type: 'POST',
success: function (resp) {
alert(resp);
},
error: function(e){
alert('Error: '+e);
}
});
它给出 xmlhttprequest 错误。
所有这些答案都是错误的!
就像我在评论中所说,您收到该错误的原因是 URL 失败了“同源政策 http://en.wikipedia.org/wiki/Same_origin_policy”,但您仍然可以使用 AJAX 功能来访问另一个域,请参阅尼克·克拉弗斯回答了这个类似的问题 https://stackoverflow.com/questions/3873636/no-response-from-mediawiki-api-using-jquery:
您需要触发 JSONP 行为
通过添加 &callback=? 与 $.getJSON() 一起使用
在查询字符串上,如下所示:
$.getJSON("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles="+title+"&format=json&callback=?",
function(data) {
doSomethingWith(data);
});
你可以在这里测试一下。
如果不使用 JSONP,你就会遇到
阻塞的同源策略
从 XmlHttpRequest 获取任何
数据返回。
考虑到这一点,以下代码应该可以工作:
var fbURL="https://graph.facebook.com/16453004404_481759124404/comments?access_token=my_token";
$.ajax({
url: fbURL+"&callback=?",
data: "message="+commentdata,
type: 'POST',
success: function (resp) {
alert(resp);
},
error: function(e) {
alert('Error: '+e);
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)