簡體   English   中英

無法通過XMLHttpRequest發送大型JSON數據-javascript

[英]Can't send large json data via XMLHttpRequest - javascript

我需要將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請求。

您正在存儲數據,因此無論如何應該使用POST請求。

使用$.post而不是$.load並編寫自己的邏輯以在done()處理程序中顯示響應。


我已將js代碼更改為:

您需要將數據放入請求的正文中。 POST請求不會更改可在URL中放入多少數據的規則。


$.post("http://localhost/myurl/phpFile.php", { mrData: jsonArrFinal })
 .done( data => $("#sendResult").html(data) );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM