Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 根据请求验证ajax响应_Jquery_Ajax_Request_Response_Validation - Fatal编程技术网

Jquery 根据请求验证ajax响应

Jquery 根据请求验证ajax响应,jquery,ajax,request,response,validation,Jquery,Ajax,Request,Response,Validation,在ajax和/或jquery中是否有一些方法可以验证我收到的响应是否针对我发送的特定请求 让它更清楚。我有一个搜索页面thts分为两部分,顶部是搜索条件部分,第二部分是匹配结果。默认情况下,将获取前20条记录。结果部分通过ajax请求定期更新。用户可以选择过滤提供的结果。这也是通过ajax实现的 两个请求的URL相同。唯一的区别是当用户选择过滤结果时,附加到URL的过滤条件 由于用户筛选器的优先级高于后台刷新,因此在检测到用户已请求特定文件服务器时,我需要中止后台刷新。是否有一些方法可以检查aj

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

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

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

由于用户筛选器的优先级高于后台刷新,因此在检测到用户已请求特定文件服务器时,我需要中止后台刷新。是否有一些方法可以检查ajax响应并验证该响应是否对应于后台请求或特定于用户的请求


我已经尽力解释了这个问题,但如果您需要更多信息,请务必告诉我。

我想我理解您的意图。我的理解是,页面的一部分会定期自动刷新,但如果用户明确指示了过滤器,则您希望这些刷新停止。对吗

我不知道您的ajax响应是什么样的,所以这必须是一种抽象的,但是 我假定您的ajax响应是HTML或JSON

当您对用户指定的筛选器请求做出响应时,只需添加某种标志来指示已经发生了这种情况

HTML:将其添加到可能添加到页面某处的代码中w/
innerhtml

<input type="hidden" id="user-defined-filter" value=1 />
然后在自动刷新之前放置一个条件,例如

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

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

// global
var bgAjax;

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

// Abort
bgAjax.abort();
if (!ajaxResponse1.user-defined-filter) {//auto-refresh stuff
// global
var bgAjax;

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

// Abort
bgAjax.abort();