【发布时间】:2018-10-04 21:23:45
【问题描述】:
我需要将 json 变量作为参数传递给 php 脚本,该脚本将处理 json 数据并将其存储在数据库中。
首先,在 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 参数,它有 5439 个字符。
我该如何解决这个问题?提前致谢。
请注意,长度可以是 5439 个字符的 8 倍以上。
【问题讨论】:
-
这看起来好像您正在使用“GET”请求来更新您的数据库?
-
您在具有最大大小的 URL 中传递数据。使用 POST 请求并将数据放入正文中。
-
@JulianReschke 是的,但后来我将脚本更改为 POST 方法,但仍然是同样的错误。 (我已对我的问题进行了编辑,添加了此修改)
-
你没有改变 URL ('localhost/myurl/phpFile.php?mrData=' + jsonArrFinal) 所以你有同样的问题,在 POST 你必须以这种方式发送 jsonArrFinal http.send(?mrData=.. ...);
标签: javascript php json xmlhttprequest frontend