2013-03-17 161 views
0

我之前读过跨域请求不可能通过AJAX(因为XHR绑定到相同的源策略)因此我们使用JSONP,它使用动态脚本注入(因为脚本标记不受同一原产地政策的约束)。跨域请求和jQuery/AJAX

但是,我正在浏览jQuery AJAX文档,并看到一个设置说“crossDomain”。

那么,现在通过jQuery/AJAX支持跨域请求?这与我们通过JSONP获得的结果是否相同?

+0

一切确实是允许JSONP请求,而不是杀死从一开始走的请求。 – 2013-03-17 06:54:46

+0

你能举一个例子吗? – testndtv 2013-03-17 06:58:00

+0

它可能通过CORS。请参阅附加的服务器设置http://remysharp.com/2011/04/21/getting-cors-working/。在客户端设置中有一个很好的html5rocks文章。 – Joe 2013-03-17 07:29:09

回答

0

我做了一个使用跨域请求的项目。你有几个例子。

它是在Github上的here

使用此功能,在你的客户端代码(JavaScript的):

function getHTML(url, callback){ 
    url = url.trim(); 

    $.ajax({ 
     url: url, 
     type: 'GET', 
     success: function(res) { 
      var headline = res.responseText; 

      if(headline === ""){ 
       callback("There was a problem with the page. Be sure that your url is correct."); 
       return; 
      } 

      callback(null, headline); 
     } 
    }); 
}