jQuery Ajax每个函数检查返回ID是不是与上一个相同

Posted

技术标签:

【中文标题】jQuery Ajax每个函数检查返回ID是不是与上一个相同【英文标题】:jQuery Ajax each function check return ID is the same as the previous onejQuery Ajax每个函数检查返回ID是否与上一个相同 【发布时间】:2020-05-25 10:37:16 【问题描述】:

我正在使用 AJAX 从删除服务器中获取数据,然后我使用 each 循环。

现在我想做的是如果返回值数据和之前的一样我做点什么 我有 10 个 val.userId == 1 ,我只想做一次而不是 10 次。

在实际情况下,我不知道我想让它动态化的用户 ID 怎么样 狐狸示例用户 12123 有 10 次,用户 1239823 有 1000 次

例如这里 https://jsonplaceholder.typicode.com/posts

$(document).ready(function()
        getData();
      );


function getData()
    $.ajax(
          type: "GET",
          url: "https://jsonplaceholder.typicode.com/posts",
          dataType: 'json',
          success: function(response)

              $.each(response, function(index, val) 
                console.log(val); // get all return data
                // as we can see userId == 1 have 10 posts , I just want to console.log only once if usdId == 1
                if(val.userId == 1)
                  console.log(val.userId);  // this one consoloe .log 10 times since we have 10 userId 
                
                // how about in the real case I do not know the user ID i wanna make it dynamic
                // fox example user 12123  has 10 times ,  user 1239823 has 1000 times 

              );


          ,
          error: function(xhr, textStatus, error)console.log(xhr.statusText);console.log(textStatus);console.log(error);

          
    );
  

感谢阅读

【问题讨论】:

【参考方案1】:

如果要删除基于userId 的重复项,可以使用响应进行循环并过滤它们。

$(document).ready(function()
    getData();
);


function getData()
    $.ajax(
          type: "GET",
          url: "https://jsonplaceholder.typicode.com/posts",
          dataType: 'json',
          success: function(response)
              var arr = [];
              
              response.forEach(function (item) 
                var result = arr.find(x => x.userId === item.userId);
                if (!result) 
                  arr.push(item);
                
              );
              
              console.log(arr);
          ,
          error: function(xhr, textStatus, error)            
              console.log(xhr.statusText);
              console.log(textStatus);
              console.log(error);
          
    );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

【讨论】:

以上是关于jQuery Ajax每个函数检查返回ID是不是与上一个相同的主要内容,如果未能解决你的问题,请参考以下文章

jquery每个循环都返回false而不是结束函数

jQuery Ajax Json 响应 - 检查是不是为空

jquery检查ajax是不是有某两个数组中的键

请教大神,怎么用jquery ajax验证用户名是不是正确,正确就跳转到管理页面,失败就重新填写

Javascript/Jquery-如何检查函数是不是返回任何值?

mvc中的ajax jquery-方法返回不是布尔类型的True [重复]