Как обратиться к «Отказано в установке небезопасного заголовка: соединение»? - PullRequest
3 голосов
/ 25 августа 2011

Я использую Prototype в сочетании с CodeIgniter для отправки запроса AJAX.Мой браузер Chrome.Я получаю сообщение об ошибке в консоли «Отказ от установки небезопасного заголовка: соединение».Вот строка запроса Ajax:

new Ajax.Request('/vbs/index.php/signup/get_ratecenters',{method:'POST', evalScripts:true})

Я пытался установить тип синхронный, но получил ту же ошибку.

Может кто-нибудь помочь?Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 25 августа 2011

В prototype.js (1.7.0.0) есть только один фрагмент кода, который пытается установить заголовок Connection: close

if (this.method == 'post') {
  headers['Content-type'] = this.options.contentType +
    (this.options.encoding ? '; charset=' + this.options.encoding : '');

  /* Force "Connection: close" for older Mozilla browsers to work
   * around a bug where XMLHttpRequest sends an incorrect
   * Content-length header. See Mozilla Bugzilla #246651.
   */
  if (this.transport.overrideMimeType &&
      (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
        headers['Connection'] = 'close';
}

Если вы используете локальную копиюprototype.js вы можете изменить фрагмент кода на

if (this.method == 'post') {
  headers['Content-type'] = this.options.contentType +
    (this.options.encoding ? '; charset=' + this.options.encoding : '');

  /* Force "Connection: close" for older Mozilla browsers to work
   * around a bug where XMLHttpRequest sends an incorrect
   * Content-length header. See Mozilla Bugzilla #246651.
   */
  if (this.transport.overrideMimeType &&
      (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
  {
        alert("Yes, this is it.");
            if ( navigator.userAgent.match(/Gecko\/(\d{4})/) ) {
                alert("navigator");
            }
        headers['Connection'] = 'close';
  }
}

и посмотреть, действительно ли это причина.

0 голосов
/ 25 августа 2011

Что произойдет, если вы загрузите /vbs/index.php/signup/get_ratecenters непосредственно в браузере?

I прочитайте где-нибудь в Интернете , что «Отказ от установки небезопасного заголовка: соединение» является предупреждением о том, что HTTP-соединение"заголовок не может быть установлен, но это не значит, что запрос не будет обработан, поэтому возможно, что здесь что-то еще происходит?

Проверьте /vbs/index.php/signup/get_ratecenters и убедитесь, что он возвращает действительный код JavaScript.Выполните этот код в консоли Chrome и убедитесь, что он не содержит ошибок ... возможно, здесь другая ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...