-4

私は JQuery を使用するのが初めてで、このコード行に問題があります。

function getById(id, callback) 
{
  return  $.get(url, {}, callback);
}

.get が返すものを見ると、返されるはずだと思っていた xml ノードや JSON ではありません。代わりに、メソッドとプロトタイプのコレクションを持つオブジェクトを取得します。また、準備完了状態です。したがって、 undefined は返されませんが、私が期待するものも返されません。問題は何でしょうか?

get を変数に代入しようとしましたが、何もしませんでした。コールバック関数も使用してみましたが、それを使用して get から返されたデータを変数に代入する方法がよくわかりません。

4

3 に答える 3

1

$.ajax()関数はオブジェクトを返しますjqXHRdoneajax 呼び出しから返されたデータは、コールバックまたはオブジェクトのコールバックに渡されますjqXHR

$.ajax()ドキュメントと学習サイトのajax カテゴリを読むことをお勧めします。

于 2013-11-01T13:44:47.143 に答える
0

これをプロミスと呼びます。

これにより、非同期操作の最終的な結果を使用できます。
メソッドを呼び出し、then()コールバックを渡して、応答が到着したときにコードを実行します。
これは、そのコードの結果の新しい約束を返します。

于 2013-11-01T13:44:34.830 に答える
0

戻りXMLHttpRequestます。AJAX は非同期であるため、単にメソッドを返すことはできません$.get

したがって、コールバック メソッドを使用する必要があります。

$.get(url, {}, function( data ) {
    console.log( 'data' );
});
于 2013-11-01T13:44:43.957 に答える