1

私は AJAX と JSON を理解しようとしていますが、よくわかりません。同じことをしているメソッドと関数があります...

$.getJSONサーバーから JSON 形式のデータを取得する必要があり、データ データをサーバーに送信するには+ $.ajax+ $.post+$.getload()必要ですか?

これらすべての方法を使用して JSON データを送信できますか?

本当に迷ってます!これを理解するのを手伝ってください。

4

2 に答える 2

2

AJAX リクエストは、本質的には HTTP リクエストです。これは、Web 上のすべてのコンテンツに使用されるのと同じプロトコルです (おそらく、HTTP でない場合は Web ではありません) - ページのロード、ページ上の画像、CSS および JS インクルード、送信されたフォームなど。等

そのため、HTTP の柔軟性のほとんどすべてを継承しています。つまり、jQuery.ajaxのような汎用関数は非常に複雑になり、通常は気にする必要のない多くのオプションが含まれます。これは、オプションと機能の一般的なセットをバンドルする、あなたが言及した短縮方法につながります。

あなたが変えたいと思うかもしれないものの中で:

  • リクエストの「メソッド」: GET または POST (または、あまり一般的でない HEAD、PUT、DELETE など)。GET リクエストは最も単純です。この URL をリクエストして、その内容を教えてください。GET リクエストへのパラメーターは、URL の「クエリ文字列」に押し込まれます。POST リクエストは、通常のページでどのように大きなフォームが送信されるかを示しています。パラメーターは、URL および制御ヘッダーとは別のデータ本体として渡されます。AJAX 要求の場合、これは XML または JSON のブロックを URL に送信するのに役立つことがよくあります。これは非常に大まかな概要であり、この 2 つの動作と意味にはさらに多くの違いがあります。
  • 応答に必要な「コンテンツ タイプ」 (および、POST 要求の場合は、送信するデータの)。これにより、サーバーとブラウザーの両方に、処理しているデータが正しく渡されることが保証されるだけでなく、jQuery (または任意のライブラリ) に次に何をすべきかのヒントを与えることができます: 呼び出しが XML を返す場合、おそらくすぐにDOMとして操作したいでしょう。JSON の場合は、JS オブジェクトとして解析する必要があります。
  • データが戻ってきたら何をしたいのか。JSON または XML の解析については既に説明しましたが、応答が実際には、親ページに直接挿入したい HTML のブロックである場合はどうなるでしょうか? もちろん、コールバック関数で自分でそれを行うこともできますが、ここでも jQuery には.load()の形の省略形が含まれています。

上記のすべてがjQuery.ajax で可能ですが、同じケースに何度も陥っていてもパラメーターを覚えておく必要があるため、ほとんどの場合、どちらかを使用する可能性があります。速記は、その時点でのニーズに合っています。

于 2013-07-04T20:13:43.967 に答える
2

これらはすべて、関数を呼び出すための省略形です。$.ajax

  • loadHTML を取得して一度に DOM に書き込むためのものです。JSON をロードしたい。
  • getまた、 JSON データの送信には適していないリクエストを使用getJSONします。GET
  • postリクエストを行いますが、送信されたデータPOSTを選択することはできませんcontentType

$.ajaxJSON を送信するには、多くのオプションを備えた関数を使用する必要があります。 jQuery を使用して JSON データを送信する を参照してください。

于 2013-07-04T19:44:49.730 に答える