Я не могу изменить значение Content-Type заголовка HTTP-запроса, используя jQuery - PullRequest
8 голосов
/ 30 октября 2009

Я попытался переопределить содержимое заголовка HTTP-запроса с помощью функции AJAX в jQuery. Похоже, это

$.ajax({
  type : "POST",
  url : url,
  data : data,
  contentType: "application/x-www-form-urlencoded;charset=big5",
  beforeSend: function(xhr) {
      xhr.setRequestHeader("Accept-Charset","big5");
      xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=big5");
  },
  success: function(rs) {
    target.html(rs);
  }
});

Заголовок Content-Type по умолчанию равен "application / x-www-form-urlencoded; charset = UTF-8", но, очевидно, я не могу переопределить его значение, независимо от того, что я использую подходы contentType или beforeSend , Может ли кто-нибудь дать мне подсказку, как мне изменить или изменить значение типа содержимого HTTP-запроса? Большое спасибо.

Кстати, есть ли какая-нибудь хорошая документация, чтобы я мог изучить обработку кодирования XMLHttpRequest в JavaScript?

Ответы [ 2 ]

2 голосов
/ 10 июня 2011

Согласно документации jQuery, charset всегда будет UTF-8: http://jqapi.com/#p=jQuery.ajax. Я думаю, то же самое относится и к accept-charset.

Big5 - это подмножество UTF-8, верно? Так что должна быть возможность кодировать и декодировать его на стороне сервера.

0 голосов
/ 30 октября 2009

Вы проверили документацию w3.org? Кажется, есть некоторые ограничения в использовании заголовка Accept-Charset. http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader-method

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