有人可以向我推荐为ajax请求编写“过滤”函数的“正确”方法吗?也许通过解释我的情景,我可以更好地解释我的问题:
对于我的所有ajax应用程序,我使用特定的JSON响应系统。来自服务器的每个请求响应的格式如下:
{"type": "data", "code": "200", "data" : [/* some data here */]}
我想编写一个解析此响应的函数,根据类型和代码执行一些逻辑,然后将一个对象传递给回调。但是,我希望能够将此应用于MOST请求,但不是全部。因此,我需要的不仅仅是ajax事件全局变量。 (除非你能想到一种方法来使用它们并仍然得到控制)。
另外,我希望能够编写一个自动构建url和data参数的ajax函数。总而言之,我想知道写一个函数的正确途径是什么,它准备请求,发送请求,返回延迟,解析响应,并执行回调。类似于$ .ajax函数的前后过滤器。
话虽如此,我可以想象“过滤前”部分就像编写构建请求并发送请求的函数一样简单。我遇到的麻烦是弄清楚如何“捕获”响应并在执行提供的回调之前解析它。特别是因为我想基于状态代码进行任何操作。有没有人有任何可以分享的想法或文章来帮忙?
答案 0 :(得分:1)
如果这有助于其他任何人,我终于找到了答案。在ajax函数的文档中,有一小段文本说明可以扩展函数。那些像我一样但从未注意到它的人的链接是:http://api.jquery.com/extending-ajax
希望帮助像我这样的人帮助我!
** 编辑 **
我实际上找到了比这更好的方法。我最终使用了jQuery的管道方法,如下所述:http://www.bennadel.com/blog/2255-Using-jQuery-s-Pipe-Method-To-Change-Deferred-Resolution.htm
这完美无缺!允许在回调之前捕获响应,然后过滤结果,如果我愿意,甚至保持回调不被调用。希望这对其他人也有帮助。