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标签的格式存在的作品。
有什么建议吗?
答
的是,在JSON换行?如果是这样的话,那就是你的错误。尝试用data.replace('\n', ' ')
之类的东西来消除它。
从评论中更新:Val意识到IE8解析器实际上是在他的测试用例上,而原始的JavaScript JSON解析器处理它就好了。如果您需要原始解析器,则它位于:https://github.com/douglascrockford/JSON-js,链接到:http://www.json.org,几乎是替代品的下降。
这将如何工作?获取ENTIRE文档的HTML(又名'body')并假装它是json? –
VAR数据是'$(“IFRAME”)contents.find(“主体”)HTML();'具有上面的字符串'json',IE8的只有这个是不行的,如果我只是复制并粘贴返回的上述json,并执行'data = jQuery.parseJSON(''
假定iframe在html外壳中有json。服务器吐出什么东西?一个原始的json字符串?或者是不是真的发出了'
{味精:.....}'?如果iframe中没有body标签,那么您将无法使用该jquery find()。 –