jQuery устанавливает ISO charset на ajax-запрос

Я использую JQuery для отправки запросов AJAX на сервер, но у меня есть некоторые проблемы с кодировкой. В документации функции ajax написано, что данные всегда отправляются в UTF-8 в соответствии со стандартом W3C XMLHTTPRequest, поэтому я не думаю, что jQuery позволяет изменять кодировку запроса (кроме случаев, когда вы загружаете скрипт, но это не мое дело).

Итак, вы знаете способ установить кодировку ISO-8859-1 для запроса ajax в jQuery?

1 ответ

Решение

Я думаю, что это невозможно. Вы можете попытаться переопределить Content-Type Заголовок запроса в вашем ajax вызов. Я попробовал это с:

$.ajax({
  url: '/exec/seoportservice.pl',
  type: 'POST',
  data: {
     foo: "bar"
  },
  dataType: 'text',
  beforeSend: function(xhr){
    xhr.setRequestHeader('Content-Type', 'test');
  },
  success: function(data){
    console.log('success: ' + data);
  },
});

Это на самом деле переопределит Content-Type заголовок, но все же charset=UTF-8 установлено.

Так что, думаю, вам придется обрабатывать серверы Encoding.

Другие вопросы по тегам