Javascript jqueryajax:检查数据是否存在,如果不存在;邮政「;

Javascript jqueryajax:检查数据是否存在,如果不存在;邮政「;,javascript,jquery,arrays,ajax,json,Javascript,Jquery,Arrays,Ajax,Json,我试图检查“GET”返回的JSON数组对象中是否已经存在数据。如果数据已经存在,我希望它忽略数据。如果它不存在,我希望它“张贴”。请帮助。它似乎跳过了“POST”电话 删除来自此: if( !$.inArray(name, result) == -1) 所以你有: if ($.inArray(name, result) == -1) 你写的基本上是双重否定$。inArray在找不到任何内容时返回-1。你永远不会使用=0)时进行发布。无论如何,你都不会写!$。inArray作为函数无法返回“f

我试图检查“GET”返回的JSON数组对象中是否已经存在数据。如果数据已经存在,我希望它忽略数据。如果它不存在,我希望它“张贴”。请帮助。它似乎跳过了“POST”电话


删除
来自此:

if( !$.inArray(name, result) == -1)
所以你有:

if ($.inArray(name, result) == -1)

你写的基本上是双重否定<代码>$。inArray在找不到任何内容时返回
-1
。你永远不会使用
$.inArray
进行编码,因为它永远不会返回
false

看起来这样做非常有效

var match = false;
$.each(naming, function(i,v){
  if(v.name == name){
         match = true;
        return false;
    }
 });
 if(!match){
  POST(section);
}

如果数据不存在,我使用if(!$.inArray(name,result)=-1)。然后是“发帖”,有没有更好的方式来写?因为如果我再次使用If($.inArray(name,result)=-1),那么我将插入重复的数据。If($.inArray(name,result)=-1)的字面意思是“如果名称不在结果数组中”。这不是您想要发布的时候吗?如果您想要以另一种方式发布,即仅当名称在数组中时才发布,那么您可以在($.inArray(name,result)>=0)时进行发布。无论如何,你都不会写!$。inArray作为函数无法返回“false”。如果没有找到任何内容,它将返回-1;如果确实找到了某个内容,它将返回索引(0或更高)。使用>=0时,它始终表示数据存在于数组中,即使它没有。还有其他想法吗?你必须把你的代码发布到发生这种情况的地方,因为还有其他事情发生。如果$.inArray返回的值为0或更大,则它找到了匹配项,$.inArray无法出错。
var match = false;
$.each(naming, function(i,v){
  if(v.name == name){
         match = true;
        return false;
    }
 });
 if(!match){
  POST(section);
}