无法通过XMLHttpRequest发送大型json数据--javascript

问题描述 投票:0回答:1

我需要将一个json变量作为参数传递给php脚本,该脚本将处理json数据并将其存储在Database中。

首先,在javascript中,我正在测试发送这样的数据:

$('#sendResult').load('http://localhost/myurl/phpFile.php?mrData=' + jsonArrFinal);

传递小记录时效果很好(记录可能会有所不同,这取决于用户插入的数据)。

但是当我增加记录时,它开始在控制台中出现此错误:

414 (Request-URI Too Long)

我已将js代码更改为:

var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://localhost/myurl/phpFile.php?mrData=' + jsonArrFinal );
xhr.setRequestHeader("Content-type", "application/json; charset=utf-8");
xhr.send();

但仍然出现与POST方法相同的错误。我检查了json param,它有5439个字符。

我该如何解决这个问题?提前致谢。

请注意,长度可以超过5439个字符。

javascript php json xmlhttprequest frontend
1个回答
1
投票

不要使用GET请求。

您正在存储数据,因此您应该使用POST请求。

使用$.post而不是$.load并编写自己的逻辑以在done()处理程序中显示响应。


我已将js代码更改为:

您需要将数据放在请求的正文中。 POST请求不会更改您可以在URL中放入多少数据的规则。


$.post("http://localhost/myurl/phpFile.php", { mrData: jsonArrFinal })
 .done( data => $("#sendResult").html(data) );
© www.soinside.com 2019 - 2024. All rights reserved.