たとえば、次のように 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 ですが、ヘッダーがリクエストの本文のエンコーディングのみに影響するのか、他のヘッダーのエンコーディングにも影響するのか (後者が変更できる場合) は、説明から明らかではありません。