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

Posted 白小白学IT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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错误的主要内容,如果未能解决你的问题,请参考以下文章

Uncaught TypeError: jQuery(...).each is not a function after update wordpress theme

JavaScript-函数报Uncaught ReferenceError: XX is not defined

Uncaught Error: Bootstrap's JavaScript requires jQuery

Uncaught Error: Bootstrap's JavaScript requires jQuery

js报错 Uncaught TypeError: xxxx.each is not a function

Chrome浏览器视频自动播放报Uncaught(in promise)DOMException