1.控制台打印返回的数据是:

[Web浏览器] "{d:[{"col":7,"row":7, "size_x":5,"size_y":5,"id":"1","text":"区域1"},
                {"col":7,"row":7, "size_x":5,"size_y":5,"id":"2","text":"区域2"},
                {"col":7,"row":7, "size_x":5,"size_y":5,"id":"12","text":"A12"}]
             }"

2.这是最终调试成功的代码板块:

这里写图片描述

3.调试经验:

(1).webservice返回的数据到前台页面解析时要写成:

success: function(data) {                   
            var 解析最终数据= data.d;
            }

否则将得不到想要的解析数据
(2).解析时若是遇到

...Uncaught TypeError: Cannot use 'in' operator to search for“length”in { array }

解决方法:

JSON字符串转换为JavaScript对象。要修复它,通过标准JSON.parse()或jQuery 的 $.parseJSON 将其转换为JavaScript对象。

之前无法解析显示的代码:

$.each(serialization, function() {
            gridster.add_widget('<li>' + this.text + '</li>',
             this.size_x, this.size_y, this.col, this.row, "", "", this.id);
        });

最终修改完成调试的代码:

$.each(JSON.parse(serialization), function() {
        gridster.add_widget('<li>' + this.text + '</li>', this.size_x,
         this.size_y, this.col, this.row, "", "", this.id);
        });

(3)
访问json格式的数据或者json文件时,就不需要JSON.parse一下,否则就会出现:”Uncaught SyntaxError: Unexpected token u” 此类错误,例如JSON.parse,JSON.parse在传参数时,未定义的情况下会出现该异常 。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐