【发布时间】:2011-03-05 15:20:21
【问题描述】:
Since you can't apply custom headers on JSONP calls,如何使用 jQuery 进行跨域请求并应用自定义标头?
我基本上是在尝试使用 jQuery 访问谷歌文档,并且需要传递一个身份验证令牌:
var token = "my-auth-token";
$.ajax({
url: "http://docs.google.com/feeds/documents/private/full?max-results=1&alt=json",
dataType: 'json',
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "GoogleLogin auth=" + token);
},
success: function(data, textStatus, XMLHttpRequest) {
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
}
});
注意:这样做的目的是完全绕过应用层。使用 ruby 连接到 Google Data API 很简单,但它一直在服务器端解析提要占用大量资源。
【问题讨论】:
-
您不能这样做,原因与您不能向
myBank.com发出相同类型的请求一样,这会获取我的信息或锁定我的帐户,这两种方法都是非常不可取的。 ..以及为什么不允许这样的跨域请求。
标签: javascript jquery ajax cross-domain custom-headers