如何摆脱对象#<Object>没有方法“ push”错误?

用户名

嗨,我正在尝试将数据推送到已定义键的JSON对象上,但是我仍然在其中具有alert(“ 3”)和alert(“ 6”)的行上遇到未捕获的typeError

 server.on('update_message_from_server', function(data){
                if(data.message_to!=false){
                    alert("1");
                    if(data.message_from==<?php echo $session_user_id;?>){
                        alert("2");
                        if(message_store.hasOwnProperty(data.message_to_email)){
                            alert("3");
                            message_store[data.message_to_email].push((data));
                            str2 = '<div id ="recent_message_log_entry'+data.message_to_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>';
                            $(document.getElementById("recent_message_log_entry"+data.message_to_email)).replaceWith(str2);
                        }else{
                            alert("4");
                            message_store[data.message_to_email]= new Array();
                            message_store[data.message_to_email]=data;
                            string = '<div><div>'+data.message_to_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>';
                            $("#new_updates").append(string);
                        }
                    }else{
                        alert("5");
                        if(message_store.hasOwnProperty(data.message_from_email)){
                            alert("6");
                            message_store[data.message_from_email].push((data));
                            str2 = '<div id ="recent_message_log_entry'+data.message_from_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>';
                            $(document.getElementById("recent_message_log_entry"+data.message_from_email)).replaceWith(str2);
                        }else{
                            alert("7");
                            message_store[data.message_from_email]= new Array();
                            message_store[data.message_from_email]=data;
                            string = '<div><div>'+data.message_from_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>';
                            $("#new_updates").append(string);
                        }
                    }
                }else{
                    alert("8");
                    alert("Email Does not exist "+data.message_to_email);
                }
                alert(JSON.stringify(message_store));
            });

我该如何纠正?

提前致谢

阿伦·P·约翰尼(Arun P Johny)

如果message_store[data.message_from_email]未定义,则您首先要为其分配一个空数组,然后将数据推入该数组以覆盖该数组,而不是将其推入该数组data

错误在行

message_store[data.message_from_email]= new Array();
message_store[data.message_from_email]=data;

它应该是

message_store[data.message_from_email] = new Array();
message_store[data.message_from_email].push(data);

或缩短

message_store[data.message_from_email]= [data];

所以

server.on('update_message_from_server', function(data){
    if(data.message_to!=false){
        alert("1");
        if(data.message_from==<?php echo $session_user_id;?>){
            alert("2");
            if(message_store.hasOwnProperty(data.message_to_email)){
                alert("3");
                message_store[data.message_to_email].push((data));
                str2 = '<div id ="recent_message_log_entry'+data.message_to_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>';
                $(document.getElementById("recent_message_log_entry"+data.message_to_email)).replaceWith(str2);
            }else{
                alert("4");
                message_store[data.message_from_email]=[data];
                string = '<div><div>'+data.message_to_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>';
                $("#new_updates").append(string);
            }
        }else{
            alert("5");
            if(message_store.hasOwnProperty(data.message_from_email)){
                alert("6");
                message_store[data.message_from_email].push((data));
                str2 = '<div id ="recent_message_log_entry'+data.message_from_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>';
                $(document.getElementById("recent_message_log_entry"+data.message_from_email)).replaceWith(str2);
            }else{
                alert("7");
                message_store[data.message_from_email]=[data];
                string = '<div><div>'+data.message_from_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>';
                $("#new_updates").append(string);
            }
        }
    }else{
        alert("8");
        alert("Email Does not exist "+data.message_to_email);
    }
    alert(JSON.stringify(message_store));
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解析iOS SDK +云代码:错误:对象[object Object]没有方法'set'

来自分类Dev

石工js错误:未捕获的TypeError:对象[object Object]没有方法'imagesLoaded'

来自分类Dev

jQuery插件错误对象[object Object]没有方法'methodname'

来自分类Dev

Kinetic.js:错误(对象[object Object]没有方法'setAnimation')

来自分类Dev

jqxGrid失败,并显示错误“对象[object Object]没有方法'jqGrid'”

来自分类Dev

Javascript错误:未捕获的TypeError:对象[object Object]没有方法'src'

来自分类Dev

对象#<Object>没有方法'User'

来自分类Dev

TypeError:对象#<Object>没有方法

来自分类Dev

对象#<Object>没有方法'User'

来自分类Dev

对象#<Object>没有方法'findUser'

来自分类Dev

TypeError:对象#<Object>在Angular js Http.get请求中没有方法'push'

来自分类Dev

TypeError:对象#<Object>在Angular js Http.get请求中没有方法'push'

来自分类Dev

为什么不加载节点的“ fs”模块?(错误:对象#<Object>没有方法'readFile')

来自分类Dev

Google图表错误:对象#<Object>没有方法'F'

来自分类Dev

声明中的循环引用:类型错误:对象#<Object>没有方法'call'

来自分类Dev

更新现有键值对引发<Object>没有方法“ push”错误

来自分类Dev

RequireJS + Waypoints:对象[object Object]没有方法'waypoint'

来自分类Dev

对象[object Object]没有方法'select2'

来自分类Dev

对象[object Object]没有方法'getAttribute'

来自分类Dev

dojo domconstruct.place给出错误未捕获的TypeError:对象[object Object]没有方法'appendChild'

来自分类Dev

JavaScript Uncaught TypeError:对象[object global]没有方法

来自分类Dev

未捕获的TypeError:对象#<Object>没有方法'vibrate'

来自分类Dev

node.js-对象#<Object>没有方法'on'?

来自分类Dev

流星:TypeError:对象#<Object>没有方法'require'

来自分类Dev

未捕获的TypeError:对象#<Object>没有方法'closest'

来自分类Dev

节点js:TypeError:对象#<Object>没有方法'existsSync'

来自分类Dev

TypeError:对象#<Object>在节点中没有方法'Router'

来自分类Dev

未捕获的TypeError:对象#<Object>没有方法'Sin'

来自分类Dev

AngularJS:TypeError:对象#<Object>没有方法'replace'

Related 相关文章

  1. 1

    解析iOS SDK +云代码:错误:对象[object Object]没有方法'set'

  2. 2

    石工js错误:未捕获的TypeError:对象[object Object]没有方法'imagesLoaded'

  3. 3

    jQuery插件错误对象[object Object]没有方法'methodname'

  4. 4

    Kinetic.js:错误(对象[object Object]没有方法'setAnimation')

  5. 5

    jqxGrid失败,并显示错误“对象[object Object]没有方法'jqGrid'”

  6. 6

    Javascript错误:未捕获的TypeError:对象[object Object]没有方法'src'

  7. 7

    对象#<Object>没有方法'User'

  8. 8

    TypeError:对象#<Object>没有方法

  9. 9

    对象#<Object>没有方法'User'

  10. 10

    对象#<Object>没有方法'findUser'

  11. 11

    TypeError:对象#<Object>在Angular js Http.get请求中没有方法'push'

  12. 12

    TypeError:对象#<Object>在Angular js Http.get请求中没有方法'push'

  13. 13

    为什么不加载节点的“ fs”模块?(错误:对象#<Object>没有方法'readFile')

  14. 14

    Google图表错误:对象#<Object>没有方法'F'

  15. 15

    声明中的循环引用:类型错误:对象#<Object>没有方法'call'

  16. 16

    更新现有键值对引发<Object>没有方法“ push”错误

  17. 17

    RequireJS + Waypoints:对象[object Object]没有方法'waypoint'

  18. 18

    对象[object Object]没有方法'select2'

  19. 19

    对象[object Object]没有方法'getAttribute'

  20. 20

    dojo domconstruct.place给出错误未捕获的TypeError:对象[object Object]没有方法'appendChild'

  21. 21

    JavaScript Uncaught TypeError:对象[object global]没有方法

  22. 22

    未捕获的TypeError:对象#<Object>没有方法'vibrate'

  23. 23

    node.js-对象#<Object>没有方法'on'?

  24. 24

    流星:TypeError:对象#<Object>没有方法'require'

  25. 25

    未捕获的TypeError:对象#<Object>没有方法'closest'

  26. 26

    节点js:TypeError:对象#<Object>没有方法'existsSync'

  27. 27

    TypeError:对象#<Object>在节点中没有方法'Router'

  28. 28

    未捕获的TypeError:对象#<Object>没有方法'Sin'

  29. 29

    AngularJS:TypeError:对象#<Object>没有方法'replace'

热门标签

归档