所以我有这个jQuery AJAX调用,响应来自服务器的302重定向形式.我想采用这种重定向并将其加载到iframe中,但是当我尝试使用javascript警报查看标题信息时,即使firebug正确地看到它,它也会出现空值.
这是代码,如果它有帮助:
$j.ajax({
type: 'POST',
url:'url.do',
data: formData,
complete: function(resp){
alert(resp.getAllResponseHeaders());
}
});
Run Code Online (Sandbox Code Playgroud)
我真的无法访问服务器端的东西,以便将URL移动到响应主体,我知道这将是最简单的解决方案,因此任何有关解析标头的帮助都会非常棒.
我试图用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) {
}
});
Run Code Online (Sandbox Code Playgroud)
如果我设置dataType为jsonp(来自使用jQuery创建跨域Ajax请求),它不允许我设置标头.如果我遗漏jsonp,我无法提出跨域请求.如果我使用jQuery.getJSON,我不能传入任何标题...
在制作跨域ajax请求时(在jQuery中)有没有办法定义自定义标头?
我有一个基于angularjs的JS/HTML5项目,我使用http头中设置的授权令牌来保护api.现在我还想保护从服务器访问图像.
我知道如何在服务器端执行此操作,但如何在angular或javascript中为图像请求添加HTTP标头?对于api请求,我们已经将它添加到服务($ ressource)并且它可以工作.
我正在尝试使用 html5 音频标签播放音频文件。
玩的不错...
但是出于某种原因,要求浏览器为源发出请求,必须包含浏览器(在我的情况下为 safari)未添加的特定标头。(正如我看到的 chrome 添加的那样)
标题是: Accept-encoding: gzip
我怎样才能做到这一点?
我不想事先下载整个文件......我想要音频标签来处理它,并带有一个新的标题。
document.getElementById("audio").load();
document.getElementById("audio").play();Run Code Online (Sandbox Code Playgroud)
<audio id="audio" src="https://upload.wikimedia.org/wikipedia/commons/transcoded/7/7b/FurElise.ogg/FurElise.ogg.mp3"> <audio>
Run Code Online (Sandbox Code Playgroud)
再一次,当此代码运行时,我只想修改为此发出的每个请求的标头...
注意:
当您添加源并加载 chrome 时,浏览器会发出“范围请求”请求媒体文件的后续部分,以便在某些数据可用时立即开始播放,但是,我使用的 CDN 需要这些请求具有此特定标头,问题是在 chrome 中,此标头是由 chrome 本身添加的,而在 safari 中则不然,因此我想拦截浏览器在调用load()媒体元素并添加标头时发出的这些请求。我不想在付款之前下载整个文件,我知道这可行,但这违背了目的。
ajax ×2
header ×2
javascript ×2
jquery ×2
akamai ×1
angularjs ×1
cross-domain ×1
html5-audio ×1
html5-video ×1
redirect ×1