jquery ajax vs vs postの違い

Joseph Gordon-Levitt
リリース: 2025-03-01 08:44:10
オリジナル
389 人が閲覧しました

jQuery AJAX Differences Between GET vs POST

コアポイント

    AjaxリクエストのJQuery、Get and Postはどちらもサーバーにデータを送信する方法です。重要な違いは、ブラウザアドレスバーに表示されるURL(Key-Valueペアフォーム)にデータを添付することです。
  • dempotent操作(データベースクエリなど)の場合、副作用(データベースの変更やサービスへの購読など)、または長いリクエストの処理(特に大量の敏感なデータを送信する場合、HTTPSを介して)を使用する必要があります。
  • GETおよびPOSTメソッドは、特定のニーズに応じて、単一のアプリケーションで同時に使用できます。 POSTはGETよりも安全ですが(データはURLにさらされていません)、暗号化も提供しません。データセキュリティを確保するために、HTTPを使用して、クライアントとサーバー間に送信されるデータを暗号化する必要があります。

取得して投稿してください GETリクエストは、サーバーからデータを取得するために使用されます。

    sustリクエストは、サーバー上のデータを変更するために使用されます。
  • いつ使用するか

フォーム処理がidempotent(つまり、世界状態に永続的な観察可能な効果がない場合)である場合、フォームメソッドを取得する必要があります。多くのデータベース検索には明らかな副作用がなく、フォームのクエリに最適です。

getの機能:

安全な操作に入手し、安全でない操作に投稿します。

    GETリクエストはキャッシュできます。
  • GETリクエストはブラウザの履歴に保持できます。
  • GETリクエストをブックマークできます。
  • GETリクエストを配布して共有できます。
  • GETリクエストがハッキングされる場合があります。
  • [w3.orgメソッド定義を取得する](w3c getメソッド定義リンクはここに挿入する必要があります)

いつpost

を使用する必要がありますか フォーム処理に関連するサービスに副作用がある場合(たとえば、データベースの変更またはサービスへの購読)、メソッドを投稿する必要があります。 長いリクエストの処理時に投稿を使用できます - 大量のデータを送信するか、HTTPSで機密データを送信する場合は、POSTを使用する必要があります。一部のブラウザ(Internet Explorerなど)にはURL文字列の長さが制限されているため、Getを使用すると、一部のフォームの操作が中断される場合があります。

次の操作では、投稿の使用を検討する必要がある場合があります。

掲示板、ニュースグループ、メーリングリスト、または同様の記事グループにメッセージを公開します。

フォームの送信の結果など、データ処理プロセスにデータブロックを提供します。

    操作を追加してデータベースを拡張します。
  • 既存のリソースに注釈を付けます。
  • [w3.org Post Method Definition](W3C POSTメソッド定義リンクをここに挿入する必要があります)
  • ajax Call
を取得して投稿します

ajax呼び出しは、機密データがサーバーに送信されない場合を除き、サーバー上のデータを処理しているスクリプトが呼び出されない限り、より一般的に使用されます。これは、xmlhttpRequestを使用する場合、ブラウザが2段階のプロセスとして投稿を実装しているためです(最初にヘッダーを送信してからデータを送信します)。これは、GETリクエストがより速く応答していることを意味します。これはAjax環境で必要なものです。 「Ajax」要求は相同ポリシーによって制限されるため、POSTの代わりにGETを使用するセキュリティリスクは制限されています。 JavaScriptファイルのロード(Ajax略語関数$.getScript()を使用できます)またはJSONファイルのロード(Ajax略語機能$.getJSON()を使用できます)など、サーバーから情報を「取得」するには取得します。

jQuery ajaxは、default:$.get()$.getScript()$.getJSON().load()

をget as defaultとして使用して機能します。

jquery ajax関数は、default:$.post()

として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);
  }
});
ログイン後にコピー
demo

を表示します

ajaxコールの例を投稿 - ログインフォームを送信

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キャッシュやセキュリティ施行など、ネットワーク上で他の機能を実行できるようにします。


「分類状態転送」(REST)に関する情報を読む:

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート