验证针对请求的ajax响应

时间:2011-03-25 06:22:31

标签: jquery ajax request response validation

在ajax和/或jquery中是否有一些方法可以验证我收到的响应是否针对我发送的特定请求?

使其更清晰。我有一个搜索页面分为两部分,顶部是搜索条件部分,第二部分是匹配结果。默认情况下,将获取前20个记录。结果部分通过ajax请求定期更新。用户可以选择过滤提供的结果。这也是通过ajax发生的。

两个请求的URL都是相同的。唯一的区别是当用户选择过滤结果时附加到URL的过滤条件。

由于用户过滤器的优先级高于后台刷新,因此当检测到用户请求了特定的文件管理器时,我需要中止后台刷新。是否有一些方法可以检查ajax响应并验证此响应是否与后台请求或用户特定请求相对应?

我已尽力解释查询,但如果您需要更多信息,请告诉我。

2 个答案:

答案 0 :(得分:0)

我想我明白你的目标。我的理解是页面的一部分会定期自动刷新,但如果用户明确指出过滤器,则需要停止这些刷新。正确的吗?

我不知道你的ajax响应是什么样的,所以这必须是抽象的,但是 我认为你的ajax响应是HTML或JSON。

当您对用户指定的过滤器请求做出响应时,只需添加某种标志即表明发生了这种情况。

HTML:将此内容添加到可能已添加到您的网页的代码中{/ 1}}

innerhtml

JSON:将此添加到响应JSON对象。我称之为<input type="hidden" id="user-defined-filter" value=1 />

ajaxResponse1

然后在自动刷新之前添加条件,例如

{user-defined-filter: 1}

OR

if (!$("user-defined-filter").val()) {//auto-refresh stuff

答案 1 :(得分:0)

也许你可以保存后台请求的$ .ajax()返回对象,并在用户请求时中止它:

// global
var bgAjax;

// In you treatment og background
bgAjax = $.ajax(...);

// Abort
bgAjax.abort();