1

私がするときはいつでも:

$.ajax({
  //my settings
}).done(function(data){
  // Publish or store data
});

それは完全にうまく機能します!ただし、必要なため、オブザーバーパターンを適用しようとしていますが、そうする場合は、次のコードを使用します。

$.ajax({
  // my settings
}).done(function(data){
  $(document).trigger('ALLREADY',data);
});

// Some other part of the code
$(document).on('ALLREADY',function(e,data){
  console.log(data); // WHY?!
});

応答 (データ) は、最初の例のように配列全体ではなく、最初の値のみを格納しています。機能を壊すために何をしましたか?

PS:おそらく大きな配列の最初の値のみを返しますが、使用しようとしても許可されませんが、ログに記録できます。

4

1 に答える 1

1

は配列であるためdata、個々のピースはイベント コールバックで個別の引数として送信されます。オブジェクトの場合、これは当てはまらないため、奇妙ですdata( のように使用できますdata)。

代わりに、使用するだけですdata = arguments.slice(1)

于 2013-02-07T05:50:29.640 に答える