我正在尝试使用jQuery访问google文档。这是我到目前为止所做的:
var token = "my-auth-token";
$.ajax({
url: "http://docs.google.com/feeds/documents/private/full?max-results=1&alt=json",
dataType: 'jsonp',
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "GoogleLogin auth=" + token);
},
success: function(data, textStatus, XMLHttpRequest) {
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
}
});
如果我将dataType
设置为jsonp
(来自Make Cross Domain Ajax Requests with jQuery),则不允许我设置标头。如果我遗漏jsonp
,我就无法提出跨域请求。如果我使用jQuery.getJSON
,我就无法传入任何标题......
在制作跨域ajax请求时(在jQuery中)有没有办法定义自定义标头?
答案 0 :(得分:68)
这是不可能的。
JSONP请求的工作原理是创建<script>
元素,并将src
属性设置为请求网址。
您无法将自定义标头添加到<script>
元素发送的HTTP请求中。