我正在使用jCryption和 JavaCryption ,jCryption JavaScript 插件的服务器端实现。
Java 实现似乎存在问题,因为 FireFox 的 firebug 正在报告从服务器返回到客户端的 JSON 的“格式不正确”错误。因此,与线程不同,"not well-formed" error in Firefox when loading JSON file with XMLHttpRequest ,这来自响应对象,而不是请求对象。
我尝试将 .JSON、application/json 作为 MIMEtype 添加到我的 Web 服务器 IIS 7.5,但这没有帮助。然后我尝试了 .JSON、text/plain,但这也没有帮助。
当 application/json 发送回客户端时,我是否必须编辑 Java 代码才能强制应用程序/json?或者,我该怎么做才能解决这个问题?
感谢您的帮助。
这是导致“格式不正确”错误的第一个输出的原始输出:
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=="}
最佳答案
您需要查看实际响应中的内容。您需要查看响应内容类型 header 当前的内容以及响应正文包含的内容。 Firebug 可以向您展示这两点。
响应正文很可能根本不是 JSON...而是有关请求某些问题的 HTML 错误报告(如服务器所见)。
无论哪种方式,在找出问题原因之前都无法正确解决问题。简单地假设这是内容类型问题并不是一个明智的策略。
<小时/>根据您发布的响应,问题很可能是由于没有 Content-Type
header 造成的。如果此响应来自 Java,那么您可能需要修改 Java(或 JSP)以设置响应中缺少的 header 。
(如果无法更改 servlet 或 JSP 代码,还有其他方法可以做到这一点。)
关于java - Firefox 的 Firebug 在 jQuery Ajax 响应上使用 JSON 给出 "not-well formed"错误;使用 jCryption 插件和 JavaCryption 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13022562/