AJAX - HTTP标头值的默认字符编码是什么?

时间:2013-10-24 09:47:07

标签: javascript jquery ajax http character-encoding

例如,假设我正在使用AJAX向服务器发送请求,如下所示:

$.ajax(
    {
        url: url,
        beforeSend: function (request) { request.setRequestHeader('X-Test', 'one'); },
    });

$.ajax的{​​{3}}包含以下内容:

  

contentType (默认:'application / x-www-form-urlencoded;   charset = UTF-8')类型:字符串

     

将数据发送到服务器时,请使用此功能   内容类型。默认为“application / x-www-form-urlencoded;   charset = UTF-8“,这在大多数情况下都适用。如果你明确通过   在内容类型为$ .ajax(),然后它总是发送到服务器   (即使没有数据发送)。 W3C XMLHttpRequest规范   规定字符集始终是UTF-8;指定另一个字符集   不会强制浏览器更改编码。

根据这个,默认值是UTF-8,但是我不清楚描述是否contentType标题只影响请求主体的编码或其他标题的编码(如果后者甚至可以改变。)

2 个答案:

答案 0 :(得分:1)

contentType仅影响正文/文档。

根据this,您可以在标题中使用任何ISO-8859-1字符。

答案 1 :(得分:0)

你必须记住,AJAX呈现HTML主体的一部分,所以当你在一个具有某种内容类型的AJAX请求中发送数据时,例如iso-8859-1,数据只在AJAX中使用该内容类型进行设置请求生命周期。

我希望我的回答对你有用。

祝你好运。