博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决Chrome中调试JS提示“Uncaught TypeError: Cannot use 'in' operator to search for”错误信息问题
阅读量:4029 次
发布时间:2019-05-24

本文共 657 字,大约阅读时间需要 2 分钟。

       最近为了学习WebApi,将过去一个WinForm+WCF模式的系统的部分功能改造为一个B/S模式的应用,开发环境是vs2015,前端使用jquery-1.10.2.min.js中的$.ajax来调用WebApi方法,服务端用Newtonsoft把数据处理成JSON数据送到前端。运行调试过程中发现,Webapi方法成功调用并返回了json格式的字符串,前端接收到该数据后用$.each处理json数据时,在Chrome的调试状下发现错误信息:Uncaught TypeError: Cannot use 'in' operator to search for。以下是出错截图和前后端代码截图:

后台Webapi代码

前端JS代码

Chrome运行调试时menu中的数据

在网上查询产生这个错误信息的原因,说是这种情况是因为从服务端获取到的是一个json字符串,前端接收到这个json格式的字符串不可以直接用,要用JSON.parse()或$.parseJSON()处理成一个json对象才可以,先试一下吧。将ajax中的代码改为

然后在Chrome中运行调试,menu结果为

继续执行,没有错误信息,前端页面也可以正常显示。又试了一下JSON.parse()这种方式,同样有效。过去做项目多数是WinForm应用,后台服务呢也是WCF,这次也是为了能更熟练使用WebAPI,采用RESTful API这种模式来改造程序,过程中遇到的错误及解决方法记录下来,方便以后参考,也希望为遇到这个问题的其它人提供一个参考。

转载地址:http://erqbi.baihongyu.com/

你可能感兴趣的文章
Maven跳过单元测试的两种方式
查看>>
通过C++反射实现C++与任意脚本(lua、js等)的交互(二)
查看>>
利用清华镜像站解决pip超时问题
查看>>
[leetcode BY python]1两数之和
查看>>
微信小程序开发全线记录
查看>>
Centos import torchvision 出现 No module named ‘_lzma‘
查看>>
Maximum Subsequence Sum
查看>>
PTA:一元多项式的加乘运算
查看>>
CCF 分蛋糕
查看>>
解决python2.7中UnicodeEncodeError
查看>>
小谈python 输出
查看>>
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
查看>>
python:如何将excel文件转化成CSV格式
查看>>
Django 的Error: [Errno 10013]错误
查看>>
机器学习实战之决策树(一)
查看>>
[LeetCode By Python] 2 Add Two Number
查看>>
python 中的 if __name__=='__main__' 作用
查看>>
机器学习实战之决策树二
查看>>
[LeetCode By Python]7 Reverse Integer
查看>>
[LeetCode By Python]9. Palindrome Number
查看>>