'xmlhttp.setrequestheader()とは何ですか?そしてどのような状況で使用されていますか?

StackOverflow https://stackoverflow.com/questions/8882627

質問

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(..)。このメソッドは、ヘッダー名とヘッダーの値の2つのパラメーターを使用します。このすべての操作は、ラインで実行されます ジェネラコディセタグプレ

この setRequestHeader(..)メソッドは、リクエストが open(...)で特徴付けられたにリクエストに適用する必要がありますメソッドですが、の最終リクエストは send(。)メソッドで送信されます。

open(...)メソッドは、次のことを定義します。(1)HTTPリクエストのタイプ。 GET / POST / PUTなど; (2)このリクエストの処理スクリプトを含むウェブページ。バックエンドデータベースに適切なクエリを実行する.phpまたは.jsファイル。 (3)リクエストダイナミクスの性質。非同期リクエストには値「true」が割り当てられ、同期リクエストには「false」が割り当てられます。

send(。)メソッドは、リクエストの本文内に送信されるデータ(この場合は「parameters」と呼ばれる変数)を添付します。

setRequestHeader(..)が使用されている状況についての幅広い質問では、ほとんどのHTTPリクエストの状況で使用されていると言えます。ただし、一部の種類のデータデータが本文に追加されましたHTTPリクエストのは、「Content-Type」ヘッダーのデフォルト設定を呼び出します。

フォームから送信されたURLエンコードされたデータを含むようにContent-typeHTTPヘッダーを設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top