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」で、ほとんどの場合はこれで問題ありません。content-type を $.ajax() に明示的に渡すと、(データが送信されなくても) 常にサーバーに送信されます。W3C XMLHttpRequest 仕様では、文字セットは常に UTF-8 であると規定されています。別の文字セットを指定しても、ブラウザにエンコーディングの変更を強制することはありません。

contentTypeこれによると、デフォルトは UTF-8 ですが、ヘッダーがリクエストの本文のエンコーディングのみに影響するのか、他のヘッダーのエンコーディングにも影響するのか (後者が変更できる場合) は、説明から明らかではありません。

4

2 に答える 2

0

AJAX は HTML 本文の一部をレンダリングすることを覚えておく必要があります。そのため、AJAX リクエストでコンテンツ タイプ (iso-8859-1 など) を使用してデータを送信すると、データは AJAX リクエストのライフ サイクルでのみそのコンテンツ タイプで設定されます。 .

私の答えがお役に立てば幸いです。

幸運です。

于 2013-10-24T22:34:35.663 に答える