jquery each报 Uncaught TypeError: Cannot use 'in' operator to search for错误

用$.each()来遍历后台传过来的json数据。直接遍历传过来的数据时就发生 Uncaught TypeError: Cannot use ‘in‘ operator to search for 这个error。

原因是:因为我们后台传过来的是json数据,但我们$.each()遍历的数据是要javascript对象;所以要把它转给javascript对象。可以使用 JSON.parse() || $.parseJSON()  这个两个方法来转换。

错误代码:

<script>
    $(document).ready(function(){
        $("#searchbtn").click(function(){
            $("#searchres").html("");
            $.get("test.php",{searchkeyword:$("#keyword").val()})
            .done(function(data){
               var html=‘‘;
                $.each(data,function(i,v){
                  html += v.number;
                });
                $("#searchres").append(html);
            })
            .fail(function(xhr){
                console.log(xhr.status);
            })
        });
    });
</script>

正确代码:

<script>
    $(document).ready(function(){
        $("#searchbtn").click(function(){
            $("#searchres").html("");
            $.get("test.php",{searchkeyword:$("#keyword").val()})
            .done(function(data){
               var html=‘‘;
                $.each(JSON.parse(data),function(i,v){
                  html += v.number;
                });
                $("#searchres").append(html);
            })
            .fail(function(xhr){
                console.log(xhr.status);
            })
        });
    });
</script>

jquery each报 Uncaught TypeError: Cannot use 'in' operator to search for错误

原文地址:https://www.cnblogs.com/missbye/p/12180916.html

时间: 2024-10-12 22:13:51

jquery each报 Uncaught TypeError: Cannot use 'in' operator to search for错误的相关文章

JQuery $.each遍历JSON字符串报Uncaught TypeError:Cannot use &#39;in&#39; operator to search for

查看一个简单的jQuery的例子来遍历一个JavaScript数组对象. [js] view plaincopy var json = [ {"id":"1","tagName":"apple"}, {"id":"2","tagName":"orange"}, {"id":"3","tagName&

Javascript报uncaught typeerror illegal invocation错误

今天在写js代码的时候遇到一个奇怪的错误,uncaught typeerror illegal invocation. 这个错误以前一直没遇到过,不知道是什么问题,于是我仔细看我的代码,才发现是因为自己粗心,在用ajax向后台传值的时候把一个对象当作参数传上去了,所以才会报这个错误...简直无语了,以后不能粗心大意啊..   这么低级的错误啊..在这里记录一下,以免下次再犯... 版权声明:本文为博主原创文章,未经博主允许不得转载.

MyEclipse10中导入的jquery文件报错(出现红叉叉,提示语法错误)

为了做一个页面特效,导入了一个jQuery文件,怎想,myeclipse竟然报错说是语法错误,但是这个js文件我是从官网上下载的,不应该出错才对,百度谷歌之后终于找到了解决办法: 选中报错的js文件, 右键选择 MyEclipse-->Exclude From Validation : 然后继续右键执行MyEclipse-->Run Validation 即可: OK!问题解决啦!

myeclipse9中导入的jquery文件报错(出现红叉叉,提示语法错误)

选中报错的js文件, 右键选择 MyEclipse-->Exclude From Validation : 然后继续右键执行MyEclipse-->Run Validation 即可

Uncaught TypeError: Cannot read property &#39;msie&#39; of undefined

Uncaught TypeError: Cannot read property 'msie' of undefined 因为图方便,抄了别人写的一个jquerry插件,运行时“var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed'; ”报了Uncaught TypeError: Cannot read property 'msie' of undefined的错误.

jQuery mobile报错 Uncaught TypeError: Cannot read property &#39;concat&#39; of undefined

写一个jQuery mobile的demo <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="styl

JQuery报错"Uncaught TypeError: Illegal invocation"

Jquery实现Ajax异步提交时报错"Uncaught TypeError: Illegal invocation",如下图: 排查发现错误在于此: data:{"search_value":$('input[name=search_value]'),"order_source":buyerType,"order_status":orderType} $('input[name=search_value]') 是一个对象而不

js.live方法无效, 报错:uncaught TypeError: $(...).live is not a function

前段时间在网上COPY了一个js效果,需要引用jQuery 1.9.1.min.js,之前项目中引用的是jQuery 1.5.1.min.js 然后发现代码中一些动态生成的元素有用到 live的方法全部都失效,调试发现Js报错:uncaught TypeError: $(...).live is not a function 网上一查原来是 Query 1.9 比之前的版本做了很大的调整,很多函数都不被支持 live()方法已经失效,需要改成以下方式 $('#id').on("click&quo

Uncaught TypeError: Cannot read property &#39;call&#39; of undefined jquery.validate.min.js:28

最近在做表单校验的时候,自己写的addMethod 方法老是不起作用,折腾了接近一天的时间.报的错误如下 Uncaught TypeError: Cannot read property 'call' of undefinedjquery.validate.min.js:28 先来看一下 我自己页面的布局. top.jsp 上面的截图为top.jsp的头部引用的表单校验jquery-1.6.js和jquery.validate.min.js 我来看我自己需要校验的那个页面的jsp布局(stepT