2011-02-03 13 views
0

jQuery ajax呼び出しを行い、別の関数の入力パラメータとして応答を取得できますか?ここjquery ajax呼び出しの応答を別の関数の入力パラメータとして取得します。

は一例であり、Iは、位置に次の関数呼び出しを有する:

updateTips(validationTextObject,objUsers.fetchAvailable()); 

をobjUsers.fetchAvailable()関数は、サーバへのAJAX呼び出しを行います。 呼び出し成功時のコールバック関数は、次のようになります。それは

BHUsers.prototype.recvAvailable= function(response){ 
    // some kind of processing over here 
    return (response["status"] == "OK")? "Available" : "Not Available"; 
} 

私はその関数が関数updateTipsへのパラメータとして使用することができ、処理結果を返すようにしたい、結果を処理するために使用されている

本の第一の目標は、行うことができるようにすることですこれらのすべてを複数のシナリオで使用することができます。また、私は呼び出しと応答処理関数が彼らがやっていることをやって欲しい。私はそれにhtmlオブジェクトを追加したくありません。

手がかりはありますか?

+0

ajaxリクエスト成功コールバックから戻るのは意味がありません。 –

答えて

1

と仮定します。objUsers.fetchAvailableのプロトタイプは、jqueryを使用してajaxリクエストを送信します。

あなたは、このような成功の機能を設定します:

BHUsers.prototype.fetchAvailable = function(){ 
    $.ajax({ 
     url:'', 
     success: this.recvAvailable // bind success to `recvAvailable` 
    }) 
} 

しかし、AJAXの成功コールバックdata, textStatus, XHRパラメータを持っているので、あなたは無名関数とそれを包むことができます。

BHUsers.prototype.fetchAvailable = function(){ 
    var self = this; 
    $.ajax({ 
     url:'', 
     success: function(data, textStatus, XHR){ 
      self.recvAvailable(XHR); // bind success to `recvAvailable` 
     } 
    }) 
} 
関連する問題