ホームページ >ウェブフロントエンド >フロントエンドQ&A >Ajaxリクエストのpostとgetの違いは何ですか?

Ajaxリクエストのpostとgetの違いは何ですか?

WBOY
WBOYオリジナル
2022-07-01 17:04:253525ブラウズ

違い: 1. Get は送信されたフォームの ACTION 属性が指す URL にパラメーター データ キューを追加しますが、post は「HTTP post」メカニズムを使用して各フィールドとそのコンテンツをフォームに配置します。 "HTML HEADER" " は、ACTION 属性が指す URL アドレスに一緒に送信されます。 2. get モードでは、サーバー側は "Request.QueryString" を使用して変数の値を取得します。post モードの場合、サーバー側は送信データの取得には「Request.Form」を使用します。

Ajaxリクエストのpostとgetの違いは何ですか?

#この記事の動作環境: Windows10 システム、javascript1.8.5&&html5 バージョン、Dell G3 コンピューター。

Ajax リクエストを行うときの post と get の違いは何ですか?

1. Get は、送信されたフォームの ACTION 属性が指す URL にパラメータ データ キューを追加します。はフォームの各フィールドと同じであり、URL 内に 1 つの対応関係が表示されます。 Post は、HTTP post メカニズムを使用して、フォーム内の各フィールドとそのコンテンツを HTML HEADER に配置し、それを ACTION 属性が指す URL アドレスに送信します。ユーザーはこのプロセスを見ることができません。

2. get メソッドの場合、サーバー側は Request.QueryString を使用して変数の値を取得し、post メソッドの場合、サーバー側は Request.Form を使用して送信されたデータを取得します。どちらの方法でもパラメータはリクエストを使用して取得できます。

3. get によって送信されるデータの量は少なく、2KB を超えることはできません。郵便で送信されるデータの量は比較的多く、通常はデフォルトでは制限がありません。

4. get のセキュリティは非常に低いですが、post のセキュリティは高いです。

5. He と He は同じです。つまり、アクション ページの最後にあるパラメータ リストは無視されますが、He は異なります。

さらに、

Get リクエストには次の特徴があります。通常は疑問符を使用して、データを URL に追加し、サーバーに渡します。 URLアドレスの末尾とデータパラメータの先頭を表します。以下のパラメータの各データパラメータは「name=value」の形式で表示され、結合子&で区別されます。

Post リクエストには次の特徴があります: データは HTTP ボディに配置され、& 接続メソッドと区切りメソッドを含む複数の方法で編成されます。パラメータを隠したり、大量の転送を行うことができます。データの保存が可能になり、より便利になります。

つまり、フォームを送信するときは通常 post メソッドを使用しますが、より大きなデータ ファイルを転送したい場合は post メソッドを使用する必要があります。渡される値がパラメータ モードのみでよい場合(値が 2KB 以下)、get メソッドを使用します。

したがって、両方の ajax 送信の使用法は当然明らかです。

知識を広げる:

では、取得と投稿をどのように選択すればよいでしょうか?

get リクエストの目的は、サーバーからリストを取得するためにサーバーにいくつかのパラメーターを与えることです。例: list.aspx?page=1。これは、次のデータを取得することを意味します。最初のページ

    #サーバー上のデータを取得する呼び出しの場合は、get を使用します。また、取得する値が時間や更新によって変化する場合には注意が必要ですこのプロセスでは、後続の呼び出しで以前の間違ったキャッシュが使用されないように、乱数またはタイムスタンプを追加する必要があります。 post と比較して、get はより簡単かつ高速であり、ほとんどの状況で機能します。
  • 投稿リクエストの目的は、いくつかのパラメータをサーバーに送信することです。

    キャッシュ ファイルは使用できません (サーバー上のファイルまたはデータベースの更新)サーバー)、post
  • を使用して大量のデータをサーバーに送信します(post にはデータ制限はありません)。不明な文字を含むユーザー入力を送信します。post は get よりも高速で、安定性と信頼性が高くなります。
  • get の目的は、その名前と同様に情報を取得することであることがわかっています。読みたいページの情報が表示されるように設計されています。ブラウザは get リクエストの実行結果をバッファリングします。同じ get リクエストが再度発行された場合、ブラウザはリクエスト全体を再実行するのではなく、バッファリングされた結果を表示します。このプロセスはブラウザの処理とは異なりますが、get 呼び出しをより効率的に行うために意図的に設計されています。 get 呼び出しはページに表示するデータを取得します。データはサーバー上で変更されないため、同じデータを再リクエストしても同じ結果が得られます。
  • サーバー情報を更新する必要がある場合は、post メソッドを使用する必要があります。たとえば、呼び出しによってサーバーに保存されているデータが変更された場合、2 回目のポスト呼び出しの値が最初の呼び出しの値と異なるため、2 つの同一のポスト呼び出しから返される結果は完全に異なる場合があります。呼び出しによってこれらの値の一部が更新されます。 post 呼び出しは通常、前の応答のキャッシュを保持するのではなく、サーバーから応答を取得します。

  • get request
oBtn.onclick = function() {
var xhr = null;
try {
xhr = new XMLHttpRequest();
} catch (e) {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
/*
1.缓存 在url?后面连接一个随机数,时间戳
2.乱码 编码encodeURI
*/
xhr.open('get','2.get.php?username='+encodeURI('刘伟')+'&age=30&' + new Date().getTime(),true);
xhr.send();
xhr.onreadystatechange = function() {
if ( xhr.readyState == 4 ) {
if ( xhr.status == 200 ) {
alert( xhr.responseText );
} else {
alert('出错了,Err:' + xhr.status);
}
}
}
}

post request

oBtn.onclick = function() {
var xhr = null;
try {
xhr = new XMLHttpRequest();
} catch (e) {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
xhr.open('post','2.post.php',true);
//post方式,数据放在send()里面作为参数传递
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');//申明发送的数据类型
//post没有缓存问题
//无需编码
xhr.send('username=刘伟&age=30');
xhr.onreadystatechange = function() {
if ( xhr.readyState == 4 ) {
if ( xhr.status == 200 ) {
alert( xhr.responseText );
} else {
alert('出错了,Err:' + xhr.status);
}
}
}
}

[関連チュートリアルの推奨事項:

AJAX ビデオ チュートリアル

]

以上がAjaxリクエストのpostとgetの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。