2

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

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

文档包含$.ajax以下内容:

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标头是否仅影响请求正文的编码或其他标头的编码(如果后者甚至可以更改)。

4

2 回答 2

1

contentType 仅影响正文/文档。

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

于 2013-10-24T10:37:53.030 回答
0

您必须记住 AJAX 呈现 HTML 正文的一部分,因此当您在具有某种内容类型(例如 iso-8859-1)的 AJAX 请求中发送数据时,数据仅在 AJAX 请求生命周期中设置为该内容类型.

希望我的回答对你有用。

好幸运。

于 2013-10-24T22:34:35.663 回答