使用 jQuery.ajax 和 JSONP 设置标题?
Posted
技术标签:
【中文标题】使用 jQuery.ajax 和 JSONP 设置标题?【英文标题】:Set Headers with jQuery.ajax and JSONP? 【发布时间】:2011-03-05 15:16:12 【问题描述】:我正在尝试使用 jQuery 访问谷歌文档。这是我目前所拥有的:
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 中)时,有什么方法可以定义自定义标头吗?
【问题讨论】:
【参考方案1】:这是不可能的。
JSONP 请求的工作原理是创建一个 <script>
元素,并将其 src
属性设置为请求 URL。
您不能将自定义标头添加到 <script>
元素发送的 HTTP 请求中。
【讨论】:
谢谢,很高兴知道。后续问题:***.com/questions/3073336/….以上是关于使用 jQuery.ajax 和 JSONP 设置标题?的主要内容,如果未能解决你的问题,请参考以下文章
使用 JQuery Ajax 和 JSONP 调用 OData 服务