Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSON数据限制_Java_Javascript_Json_Grails - Fatal编程技术网

Java JSON数据限制

Java JSON数据限制,java,javascript,json,grails,Java,Javascript,Json,Grails,我们在Tomcat上运行了Grails2.2.4应用程序,该应用程序与用户摄像头和按键配合使用,使用Javascript在客户端收集一些数据,并使用POST发送 在收集数据的视图中,我们有: <g:form name="testResultsForm" id="testResultsForm" controller="customer" action="thankYou" method="post"> <h3>Dummy data!</h3> <inp

我们在Tomcat上运行了Grails2.2.4应用程序,该应用程序与用户摄像头和按键配合使用,使用Javascript在客户端收集一些数据,并使用POST发送

在收集数据的视图中,我们有:

<g:form name="testResultsForm" id="testResultsForm" controller="customer" action="thankYou" method="post">
<h3>Dummy data!</h3>

<input type="text" style="visibility: hidden" name="testResults" id="testResults"/>

<button type="submit" class="btn btn-default">Submit dummy data</button>
</g:form>
在grails控制器中,我们有以下行来解析JSON:

def data=JSON.parse(params.testResults)

除了用户需要比正常时间更长的时间和大量的按键之外,一切都正常工作。这些错误看起来像:

2014-06-14 01:22:14,323 [http-8443-16] ERROR (org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver) - JSONException occurred when processing request: [POST] /qbcheck/customer/thankYou
Expected a ',' or ']' at character 524288 of {"patkey":"","test_version":"1.4","data_version":"1.3","patientid":"","test_date":"","test_duration":0,"gender":"","dob":"","fov":62,"fps":26,"scale_factor":0,"country":46,"camera_data":{"x":[353,353,353,353,3......
它总是在字符524288处失败。这导致我们调查数据量可能有限制,我们查看了Tomcat,发现它默认使用maxpostsize属性允许2MB数据。不过我们还是更新了一个更大的数字,只是为了确定。类似地,我们尝试查看Grails和JS端,但找不到任何限制

正在寻找这方面的任何指针。我们可以根据需要提供更多详细信息。

我们发现html“输入”的硬限制为512 KB。理想情况下,我们应该在尝试通过JS向输入值分配更多数据时收到某种错误/警告。然而,这并没有发生

因此,我们更改了之前定义为:

<input type="text" style="visibility: hidden" name="testResults" id="testResults"/>

到文本区域:

<textarea style="visibility: hidden" name="testResults" id="testResults"/>


这使我们能够传输大于512 KB的数据。

这将帮助您:@johnSmith我们已经尝试过了,正如我在问题中提到的,但没有成功,因此似乎限制在其他地方。您的tomcat是链中的第一台服务器吗?或者在它前面有其他的httpd、代理或防火墙,可能会施加限制吗?@cfrick,他使用apache+tomcat,tomcat的限制是用
maxPostSize=“0”
修复的,但是现在在json解析过程中出现了某种
代理错误
(可能解析需要太多时间)用户正在键入524288个字符-也许客户端应该事先限制saize和valdiate
<textarea style="visibility: hidden" name="testResults" id="testResults"/>