我使用的是jCryption和JavaCryption,这是jCryption JavaScript插件的服务器端实现。
Java实现似乎有一个问题,FireFox的firebug报告了一个从服务器返回给客户机的JSON的“格式不正确”的错误。因此,与线程"not well-formed" error in Firefox when loading JSON file with XMLHttpRequest不同,它来自response对象,而不是request对象。
我尝试将.JSON应用程序/json作为MIMEtype添加到我的web服务器IIS7.5中,但没有任何帮助。然后我尝试了.JSON,文本/普通文本,也没有什么帮助。
当application/json发送回客户端时,我需要编辑Java代码来强制它吗?或者,我可以做些什么来解决这个问题?
谢谢你的帮助。
下面是导致“格式不正确”错误的第一个错误的原始输出:
HTTP/1.1 200 OK
Content-Length: 294
Server: Microsoft-IIS/7.5
X-Powered-By: Nothing
Date: Tue, 23 Oct 2012 02:10:24 GMT
{"e":"10001","n":"b3fbbe3d2e3599e840a117be08f72726d8ee643dada3805ab24b9a9150d123a7a0902ae45f2f2e194e5462c4f5c3b91cca91b48d1f07c6cd7fab629a331148f66516df05dfa0bd95cc9f477069e60fa54eab8a5586d08436717758d9706b90c884eded7260af1ce5ff70f507b9c5ddb019b6e1313a77f4eab3b2d04a09934d8d","maxdigits":"131"}下面是第二个:
HTTP/1.1 200 OK
Content-Length: 200
Server: Microsoft-IIS/7.5
X-Powered-By: Nothing
Date: Tue, 23 Oct 2012 02:10:24 GMT
{"challenge":"zf6iI5D8hVDCmMVuHIFy71ikKxcqVzkLplMDKP6Hgz7EPv2STfYjcBlf6ep1wu5OMCCsPKf4dRECpVvr7yIK8kCm0I5c4xTXCkmnyyzBXeHgbvkzGWVmaLzxj5RYajdWLFkvN1waV41FhR+PtK1tOmGe8k57wSZ/yyZUAsvh7NaJf6THc9P9rQ=="}发布于 2012-10-23 10:09:13
您需要查看实际响应中的内容。您需要查看响应内容类型标头当前所说的内容,以及响应正文包含的内容。Firebug可以向您显示这两种情况。
响应体很可能根本不是JSON ...但是一个HTML错误报告关于请求的一些问题(正如服务器看到的那样)。
无论哪种方式,在找出导致问题的原因之前,您都不能正确地解决问题。简单地假设它是内容类型问题并不是一个合理的策略。
根据您发布的响应,该问题很可能是由于没有Content-Type标头造成的。如果此响应来自Java,那么您可能确实需要修改Java (或JSP)来设置响应中缺少的标头。
(如果不可能更改servlet或JSP代码,还有其他方法可以做到这一点。)
https://stackoverflow.com/questions/13022562
复制相似问题