'xmlhttp.setrequestheader()とは何ですか?そしてどのような状況で使用されていますか?
-
29-10-2019 - |
質問
Ajaxを学ぶときにこのコマンドでつまずいた。チュートリアルにこのコマンドを説明した男は、コマンド内のパラメータとそれが使用されているのは何ですか...以下で使用したコードは次のとおりです。
<script type="text/javascript">
function insert(){
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}else{
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
};
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
document.getElementById('message').innerHTML = xmlhttp.responseText;
};
};
parameters = 'insert_text='+document.getElementById('insert_text').value;
xmlhttp.open('POST','ajax_posting_data.php',true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(parameters);
};
</script>
. 解決
HTTPはプロトコルです。そのプロトコルの一部は、リクエストヘッダーの概念です。xhrが発生すると、クライアントとサーバーの間でテキストが交換されます。リクエストヘッダーは、クライアントがサーバーに送信するテキストの一部です。
これは、リクエストヘッダーを設定する方法です。あなたが見る議論は
1)設定するヘッダー(この場合はコンテンツタイプ)
2)ヘッダー値。(この場合、 x-www-form-urlencoded )
他のヒント
それはまさにそれが言っていることです。次のXMLHttpRequest
の「ヘッダー」情報を設定します。
ヘッダーはほとんどキーと値のペアです。これは、進行中の要求の「メタ」情報をターゲットサーバーに送信するために使用されます。特定のインスタンスでは、このリクエストに使用されるコンテンツタイプをサーバーに通知するために使用されます。
HTTPリクエストは、設定されたルーチンに従って1つのコンピュータシステムから別のコンピュータシステムに渡されるメッセージです(「プロトコル」-ここでは H yper T ext T 転送 P プロトコル)データの送信、データの返送の要求、以前に送信されたデータの更新などを行うため。
ヘッダーは基本的に、HTTPリクエストの本文のデータに関する情報の一部です。その目的は、リクエストを受信するマシンに、リクエストの本文に含まれるデータの種類、そのフォーマット、使用される言語、Cookieを設定するかどうか、日付、ホストマシンなどを通知することです。
HTTPリクエストには複数のヘッダーを配置でき、各ヘッダーには「名前」と「値」のコンポーネントがあります。 Webページでは次のようになります ジェネラコディセタグプレ
要素内のWebページの上部のすぐ下にあります。
ユーザーがJavaScript関数内からHTTPリクエストを送信できるようにするために、コードで行うのと同じように、新しいXMLHttpRequestオブジェクトを作成します。 ジェネラコディセタグプレ
この新しい空のオブジェクトにデータを追加します。その名前にもかかわらず、XMLHttpRequestでは、XML以外のさまざまな形式でデータを送信することもできます。 HTMLコード、テキスト、JSONなど。この例では、各データ名は「=」文字で値から分離され、各データ/値のペアは「&」文字で次のペアから分離されます。この種のフォーマットはURLエンコードとして知られています。
HTTPリクエスト本文内のデータがどのようにエンコードされているかを受信側のコンピューターに通知する必要があります。これを伝えるための
この setRequestHeader(..)メソッドは、リクエストが open(...)で特徴付けられた後にリクエストに適用する必要がありますメソッドですが、前の最終リクエストは send(。)メソッドで送信されます。
open(...)メソッドは、次のことを定義します。(1)HTTPリクエストのタイプ。 GET / POST / PUTなど; (2)このリクエストの処理スクリプトを含むウェブページ。バックエンドデータベースに適切なクエリを実行する.phpまたは.jsファイル。 (3)リクエストダイナミクスの性質。非同期リクエストには値「true」が割り当てられ、同期リクエストには「false」が割り当てられます。
send(。)メソッドは、リクエストの本文内に送信されるデータ(この場合は「parameters」と呼ばれる変数)を添付します。
setRequestHeader(..)が使用されている状況についての幅広い質問では、ほとんどのHTTPリクエストの状況で使用されていると言えます。ただし、
フォームから送信されたURLエンコードされたデータを含むようにContent-typeHTTPヘッダーを設定します。