Jquery Json 解析错误
Posted
技术标签:
【中文标题】Jquery Json 解析错误【英文标题】:Jquery Json Parse error 【发布时间】:2014-08-28 19:53:05 【问题描述】:这次我被 Json Parse 错误锁定了。目前我正在使用 jQuery Mobile 在 Asp.net MVC 4 中开发 Web 应用程序。在 我有文本框和按钮的页面中,会出现此问题
我正在使用 jquery 2.1.1 js 文件 .. 发生错误
jQuery.parseJSON = function( data )
return JSON.parse( data + "" ); // Here data comes as undefined
;
视图中的代码 下面在我的页面中有文本框和按钮
<div class="HwySearchTextBoxSmaller">
@html.TextBoxFor(Model => Model.txtPickingScan, new @autofocus = "autofocus" )
</div>
<div id="btn" style="float: left; margin-top: 1.2em; margin-left: 1em;">
<input type="submit" id="btnSearchMP" name="btnSearchMP" class="Hwy905SearchIcon" data-role="none" value="" />
</div>
<div id="dButton">
<input type="submit" id="btnMPSearch" name="btnMPSearch" data-theme="d" value="@Resources.ViewBatch" />
<input type="submit" id="btnMPSearch1" name="btnMPSearch" data-theme="d" value="@Resources.ViewGrp" />
</div>
每当我输入文本框、模糊、按钮单击、keyup 和其他相关事件时,都会弹出此错误
我上传的错误图片
由于此问题,页面无法在任何浏览器中运行。
请帮帮我。当然,我需要为此找到解决方案。请帮帮我
我没有使用 jquery 2.1.1 文件,而是使用了 Google api ,因为 jquery libray 也显示了同样的错误
下面是代码的dom图片
【问题讨论】:
jQuery 2+ 删除了对 IE 及其向后方式的大量支持。尝试使用 1.11 这种情况不仅发生在 IE 中,而且发生在所有其他浏览器中 在这种情况下,请将您的代码添加到问题中。 确保您确实有一个有效的 JSON 字符串来解析,而不仅仅是一个使用 toString() 隐式转换的对象。这里可以显示数据的内容吗? 请在上面找到我更新的问题 【参考方案1】:尝试以这样的方式改进你的功能:
jQuery.parseJSON = function (data)
console.log(data + "");
return JSON.parse(data + "");
;
确保 $.parseJSON 函数的调用者提供了正确的格式化参数“data”。您可以使用浏览器的调试器来检查调用者堆栈。
【讨论】:
雅丹尼尔,问题是我知道数据无效,但是我可以尝试什么解决方法或解决方案来摆脱这个 确切的情况是,当我有按钮或文本框的脚本时,当我们单击该按钮或文本框时会发生此问题 使用在线 JSON 验证器来验证您的 JSON。在那里编辑它并硬编码更正后的 JSON 以提供您的代码。【参考方案2】:我认为您的问题与JSON
数据有关。您正在使用的 JSON 的 语法 可能存在问题。我建议您使用一些在线JSON Validator
工具(如http://jsonformatter.curiousconcept.com)在线验证 JSON。更正 JSON 后,通过在代码中硬编码来使用相同的 JSON 来测试此场景。
【讨论】:
【参考方案3】:您好,解决了上述问题。实际上,在捆绑 js 文件时,我删除了 validate 和 validate unobtrusive js files,问题就解决了。谢谢大家帮助我
【讨论】:
以上是关于Jquery Json 解析错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 JSON 从 AJAX 和 JQuery 调用简单的 Web 服务(.asmx 文件) - 解析错误
JQuery - $.ajax() - 使用 JSONP 的跨域 - 仅在 IE 8 中获取“解析器错误”(在 IE 7 中工作)
jQuery解析JSON出现SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data(示例代码