小编典典

如何在jQuery中调用外部URL?

ajax

我正在尝试使用jquery在Facebook墙上发表评论。

但是我的ajax调用不会降低外部url。

谁能解释我们如何在jquery中使用外部网址?

下面是我的代码:

    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);
        }  
    });

它给xmlhtttprequest错误。


阅读 581

收藏
2020-07-26

共1个答案

小编典典

所有这些答案都是错误的!

就像我在评论中说的那样,由于URL未能通过“
相同来源策略
”而导致出现此错误的原因,但是您仍然可以使用AJAX函数访问另一个域,请参见Nick
Cravers对此类似问题的回答

您需要通过添加&callback =?来通过$ .getJSON()触发JSONP行为。在查询字符串上,如下所示:

> $.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);
        }  
    });
2020-07-26