我试图倍率prototype.js
通过与continue;
添加在setRequestHeaders
功能if()
避免指定部首:的Prototype.js 1.4.0抛出“拒绝设置不安全标题‘连接’”错误
for (var i = 0; i < requestHeaders.length; i += 2){
if("Connection" === requestHeaders[i] || "Connection" === requestHeaders[i+1])
continue;
this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
}
在IE9上这个工作正常,没有修改到prototype.js
,但是在其他浏览器(Chrome,Firefox等)中出现错误标题..
感谢您的任何建议和帮助! :)
[编辑]
工作重复的问题: 我发现这个话题,但它不是一样的。在重复的主题中有一个可以修改的文件,但我不能修改prototype.js
的代码。
[EDIT2]
此代码是在1.4.0(如写入标题),线约661-685
setRequestHeaders: function() {
var requestHeaders =
['X-Requested-With', 'XMLHttpRequest',
'X-Prototype-Version', Prototype.Version];
if (this.options.method == 'post') {
requestHeaders.push('Content-type',
'application/x-www-form-urlencoded');
/* Force "Connection: close" for Mozilla browsers to work around
* a bug where XMLHttpReqeuest sends an incorrect Content-length
* header. See Mozilla Bugzilla #246651.
*/
if (this.transport.overrideMimeType)
requestHeaders.push('Connection', 'close');
}
if (this.options.requestHeaders)
requestHeaders.push.apply(requestHeaders, this.options.requestHeaders);
for (var i = 0; i < requestHeaders.length; i += 2){
console.log(requestHeaders[i] + " AND " + requestHeaders[i+1]);
//My edition - BEGIN;
if("Connection" === requestHeaders[i] || "Connection" === requestHeaders[i+1])
continue;
//END;
this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
}
}
谢谢! :)
什么是'.equals(...)'?这当然不是Javascript ... – Tomalak
是的,它是@Tomalak – epascarello
@epascarello不,它不是。在规格中告诉我。 – Tomalak