前人留下的一个用JSP开发程序,使用 Apache tomcat + MySQL,
发现此程序在IE浏览器运行正常,但用chrome,等浏览器却提示出错,
错误提示是:Refused to set unsafe header "Connection" ,指向this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i + 1]);以下是部分提示出错的prototype.js的程序代码:
备注:  Prototype JavaScript framework, version 1.5.0_rc1setRequestHeaders: function() {
var requestHeaders =
['X-Requested-With', 'XMLHttpRequest',
'X-Prototype-Version', Prototype.Version,
'Accept', 'text/javascript, text/html, application/xml, text/xml, */*'];if (this.options.method == 'post') {
requestHeaders.push('Content-type', this.options.contentType); 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)
this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i + 1]);},请大神指教,如何解决此问题,谢谢!

解决方案 »

  1.   

    jquery版本问题  是否删除了版本号
      

  2.   

    不是说的很明白了,不允许设置connection请求头,而且你很多请求头X-Requested-With,Accept都不需要设置,没毛用,浏览器会自动帮你设置,删掉下面的代码
     if (this.transport.overrideMimeType)
    requestHeaders.push('Connection', 'close');}
      

  3.   


    没有 删除版本号,Prototype.js 有以下代码的:var Prototype = {
    Version: '1.5.0_rc1',
    ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)', emptyFunction: function() {
    },
    K: function(x) {
    return x
    }
    }
      

  4.   

      删掉以下这两行代码还是不行,
     if (this.transport.overrideMimeType)
    requestHeaders.push('Connection', 'close');可以麻烦你说的清楚一点吗?因为我对这个也不是很熟悉,你说的
    “不允许设置connection请求头,而且你很多请求头X-Requested-With,Accept都不需要设置,没毛用,浏览器会自动帮你设置”这样的话代码应该如何修改?因为是新手,不是很懂,问的很直白,所以请见谅。谢谢!
      

  5.   

    删除以下这两行代码后,
     if (this.transport.overrideMimeType)
    requestHeaders.push('Connection', 'close');
    没有了“Refused to set unsafe header "Connection" 这个错误提示,
    但是却提示“提交失败,请确认提交数据!”数据保存不了另外你说的”不允许设置connection请求头,而且你很多请求头X-Requested-With,Accept都不需要设置“那么具体应该如何去修改代码?不好意思因为是新手,所以不是很懂。请见谅