JSONP响应被截断

时间:2014-04-03 10:52:52

标签: jquery web-services browser cross-platform jsonp

我试图在跨平台中使用JSONP响应。我正在使用HTML和JQuery Mobile。有时当没有记录时,响应会在修复不存在字符后自动截断,不会像JSON格式那样读取完整响应。我无法得到完整的回复。 但是,相同的响应对JSON工作正常,并且可以在Android中轻松使用。

在跨平台的应用程序中,当我检查它时,在浏览器上被剔除,有人对此有所了解吗? 如果有人可以提供帮助,那将是非常可观的

更新

在Apache Tomcat上它工作正常,但对于JBOSS Application Server,我遇到了这个问题。 maxHttpHeaderSize可能是一个问题。请告诉我maxHttpHeaderSize对此有什么影响..?

2 个答案:

答案 0 :(得分:3)

JSON可以通过POST请求处理,JSONP总是GET,大多数Web服务器将GET请求的长度限制为8192字节(8KB)

答案 1 :(得分:2)

我不认为接受的答案正确描述了您的问题,因为您的问题在于答案,而且大小限制通常与请求网址长度有关...网络上有很多网页更大超过8kb,他们被送回来就好了。

我有一个类似的问题:我在nginex后面使用了tomcat,显然nginex在大约64kb之后切断了对几个部分的响应。因为看起来jquery不知道如何处理多部分响应(它可能比jquery更深入,我不确定)。当我使用具有相同数据的Tomcat w / o nginex在本地进行相同操作时,它可以完美地工作,所以也许Tomcat中的幻数不同。

为了绕过问题(没有找到解决问题的方法),我不得不限制查询所要求的元素数量,并一直询问直到我得到所有元素(所以要求0 -99,然后100-199等,直到我得到少于100条记录),这样返回的神奇字节数不会触发斩波机制。