我需要将一个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个字符的8倍。
答案 0 :(得分:1)
不要使用GET请求。
您正在存储数据,因此您应该使用POST请求。
使用$.post
代替$.load
并编写自己的逻辑以在done()
处理程序中显示响应。
我已将js代码更改为:
您需要将数据放在请求正文中。 POST请求不会更改您可以在URL中放入多少数据的规则。
$.post("http://localhost/myurl/phpFile.php", { mrData: jsonArrFinal })
.done( data => $("#sendResult").html(data) );