コアポイント
取得して投稿してください GETリクエストは、サーバーからデータを取得するために使用されます。
フォーム処理がidempotent(つまり、世界状態に永続的な観察可能な効果がない場合)である場合、フォームメソッドを取得する必要があります。多くのデータベース検索には明らかな副作用がなく、フォームのクエリに最適です。
getの機能:
安全な操作に入手し、安全でない操作に投稿します。
いつpost
を使用する必要がありますか フォーム処理に関連するサービスに副作用がある場合(たとえば、データベースの変更またはサービスへの購読)、メソッドを投稿する必要があります。 長いリクエストの処理時に投稿を使用できます - 大量のデータを送信するか、HTTPSで機密データを送信する場合は、POSTを使用する必要があります。一部のブラウザ(Internet Explorerなど)にはURL文字列の長さが制限されているため、Getを使用すると、一部のフォームの操作が中断される場合があります。
次の操作では、投稿の使用を検討する必要がある場合があります。
掲示板、ニュースグループ、メーリングリスト、または同様の記事グループにメッセージを公開します。
フォームの送信の結果など、データ処理プロセスにデータブロックを提供します。
ajax呼び出しは、機密データがサーバーに送信されない場合を除き、サーバー上のデータを処理しているスクリプトが呼び出されない限り、より一般的に使用されます。これは、xmlhttpRequestを使用する場合、ブラウザが2段階のプロセスとして投稿を実装しているためです(最初にヘッダーを送信してからデータを送信します)。これは、GETリクエストがより速く応答していることを意味します。これはAjax環境で必要なものです。 「Ajax」要求は相同ポリシーによって制限されるため、POSTの代わりにGETを使用するセキュリティリスクは制限されています。 JavaScriptファイルのロード(Ajax略語関数$.getScript()
を使用できます)またはJSONファイルのロード(Ajax略語機能$.getJSON()
を使用できます)など、サーバーから情報を「取得」するには取得します。
jQuery ajaxは、default:$.get()
、$.getScript()
、$.getJSON()
、.load()
jquery ajax関数は、default:$.post()
ajaxコールの例を取得-PHPスクリプトを呼び出してTwitterフォロワーを取得する
$.ajax({ url: 'getTwitterFollowers.php', type: 'GET', data: 'twitterUsername=jquery4u', success: function(data) { // 成功时调用 $('#ajaxphp-results').html(data); }, error: function(e) { // 发生错误时调用 //console.log(e.message); } });
var $form = $("#myForm"); var url = $form.attr("action") + "?" + $form.serialize(); $("#" + id).html(url); $.ajax({ type: "POST", url: action, data: $form, success: function(response) { if (response == 'success') $("#myForm").slideUp('slow', function() { $("#msg").html("You have logged in successfully!"); }); else $("#msg").html("Invalid username and/or password."); } });
フォーム提出の例この例は、これらの要求がバックグラウンドで発生するため、AJAXで実際には機能しませんが、異なるリクエストタイプ間で何が起こっているかについてもっと理解するのに役立つかもしれません。 getを使用すると、HTTP要求が生成され、データはURLに添付されたクエリ文字列のエンコードパラメーターのセットとしてWebサーバーに渡されます。たとえば、Loginの詳細がアドレスバーに表示されるため、Get for Loginフォームの提出を使用することは悪い考えです。
ただし、postを使用する場合、パラメーターはURLではなくHTTP要求の本体に渡されます。これは、ブラウザとWebサーバーの間の背景で発生します。
<code>GET /login.php?username=user&password=12345 HTTP/1.1 Host: domain.com</code>
Get Cache Getは、ページに表示される情報を読み取るために使用することを目的としています。ブラウザはGet Requestの結果をキャッシュし、同じGETリクエストが再度行われた場合、リクエスト全体を再実行するのではなく、キャッシュの結果を表示します。
<code>POST /login.php HTTP/1.1 Host: domain.com username=user&password=12345</code>
REST—「RESTFUL」クライアントサーバーアーキテクチャたとえば、HTTPには、動詞(または「メソッド」)、URI、インターネットメディアタイプ、リクエスト、応答コードに関して非常に豊富な語彙があります。 RESTはHTTPプロトコルのこれらの既存の機能を使用するため、既存の階層プロキシとゲートウェイコンポーネントがHTTPキャッシュやセキュリティ施行など、ネットワーク上で他の機能を実行できるようにします。
http://en.wikipedia.org/wiki/representational_state_transfer#restful_example:_the_world_wide_web
REST—「RESTFUL」Web Service(API)これは、4つの定義された側面を持つ一連のリソースです。これは通常、JSON、XML、またはYAMLですが、HTTPメソッドでサポートされているWebサービスの操作セットです。 [11]http://example.com/resources/
https://www.php.cn/link/13da2193bcd455bb894871aec1815047webサービスリンク)
結論
getを使用する時期と投稿をいつ使用するかを明確に理解できることを願っています。まだ不明であるか、AJAXコールの背景を確認したい場合は、FireBugネットパネルなどのツールを使用して、データの送信先(ヘッダーなど)とリクエストの種類を確認します。それに加えて、私はあなたに幸せなAjaxプログラミングを願っています!Ajax Get and Post Methodについての
FAQ(FAQS) (これは、元のFAQパーツに従ってより簡潔な言語で再編成して翻訳する必要があります)
スペースの制限により、FAQパーツの翻訳はここで省略されています。 元のFAQセクションを提供してください、そして、私はあなたがそれを簡潔なバージョンに翻訳するのを手伝うことができます。以上がjquery ajax vs vs postの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。