JSON解析上IE8失败

问题描述:

JSON - >的响应返回JSON解析上IE8失败

{"msg":"<DIV><P>Unfortunately we were unable to process your application.</p><BR>Please upload a CV<BR></DIV>", "status":"error"} 

错误

SCRIPT1015: Unterminated string constant

与错误

var data = $(this).contents().find('body').html();//I have console logged this and holds the above json as a string. 
data = jQuery.parseJSON(data);// problem is here. 

f显示线或者某些原因,我认为,这可能是因为HTML标签,因为.text()作为反对.html(),但是我需要使用.html(),因为它与HTML标签的格式存在的作品。

有什么建议吗?

+0

这将如何工作?获取ENTIRE文档的HTML(又名'body')并假装它是json? –

+0

VAR数据是'$(“IFRAME”)contents.find(“主体”)HTML();'具有上面的字符串'json',IE8的只有这个是不行的,如果我只是复制并粘贴返回的上述json,并执行'data = jQuery.parseJSON(''

...blabla
'')'此方法有效。 – Val
+0

假定iframe在html外壳中有json。服务器吐出什么东西?一个原始的json字符串?或者是不是真的发出了'

{味精:.....}'?如果iframe中没有body标签,那么您将无法使用该jquery find()。 –

的是,在JSON换行?如果是这样的话,那就是你的错误。尝试用data.replace('\n', ' ')之类的东西来消除它。

从评论中更新:Val意识到IE8解析器实际上是在他的测试用例上,而原始的JavaScript JSON解析器处理它就好了。如果您需要原始解析器,则它位于:https://github.com/douglascrockford/JSON-js,链接到:http://www.json.org,几乎是替代品的下降。

+0

不,它不是一个新的生产线,它只是一个复制和粘贴的问题,我试过替换只是incase,但是,不... ... – Val

+0

顺便说一句,它只在IE8上其余的工作正常。 – Val

+0

奇数。我复制并粘贴你的确切数据,无需换行符,并且'JSON.parse()'和'$ .parseJSON()'处理它就好了。你确定这是确切的代码和数据吗? –