2011-10-19 1 views
0

誰かが私に「ajaxリクエストのための「フィルタ」関数を書くための「適切な」方法をお勧めしますか?私は特定のJSON応答システムを使用するすべての私のAjaxアプリケーションではアプリケーション固有のjquery ajax関数を書く

:たぶん私のシナリオを説明することによって、私はより良い私の質問を説明することができます。サーバーからの各要求応答がそうのようにフォーマットされます。

{"type": "data", "code": "200", "data" : [/* some data here */]} 

私はこの応答を解析する機能を書きたい、タイプとコードに基づいて、いくつかのロジックは、その後、コールバックにオブジェクトを渡すん。しかし、私はこれをMOSTリクエストに適用するが、ALLには適用できないようにしたい。それゆえ、私は、Ajaxイベントのグローバル以上のものが必要です。 (あなたがそれらを使用する方法を考えることができ、まだ制御を得ることができない限り)。

はまた、私は自動的にURLやデータのパラメータを構築するAjaxの機能を書き込む機能が欲しいです。だから私は、要求を準備し、遅延を返し、応答を解析し、コールバックを実行する関数を書く正しいルートが何であるかを知りたがっています。 $ .ajax関数のフィルタの前後に似ています。

言われていること、私は、「フィルタの前に」の部分は、要求を構築し、それを送信関数を書くのと同じくらい簡単だろうと想像することができます。私が抱えている問題は、返されたコールバックが実行される前に、レスポンスをどのように「キャッチ」して解析するのかを調べることです。特に、私はステータスコードの任意のアクションをベースにしたいと思っています。誰もが助けるために共有できるアイデアや記事を持っていますか?

+0

'code'は、[HTTPステータスコード]がある場合(http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)、HTTPステータスコードとして送信します。 – zzzzBov

+0

200コードもHTTPステータスコードですが、上記のコードは内部アプリケーションのエラーやメッセージを表すためにアプリケーション自体で使用されています。 – LordZardeck

+0

だから私はコメントとして投稿した。私はチェックする価値があると思った。 – zzzzBov

答えて

1

Inこれが他の人に役立つ場合、私はついにその答えを見つけました。 ajax関数のドキュメントには、関数を拡張することができるという非常に小さなテキストがあります。それは私を助けたように、誰かを助けhttp://api.jquery.com/extending-ajax

希望:私のようだったし、それがこれです気づいたことがないあなたの人々のためにリンク!

** EDIT **

私は実際にはそれよりも良い方法を発見しました。私はここで説明したようにjQueryのパイプ方式を使用して終了:http://www.bennadel.com/blog/2255-Using-jQuery-s-Pipe-Method-To-Change-Deferred-Resolution.htm

そして、それは完全に働きました!コールバックの前に応答をキャッチして、結果をフィルタリングし、コールバックからコールバックを保持することもできます。これが誰かにも役立つことを願っています。

関連する問題