【发布时间】:2021-06-02 16:35:01
【问题描述】:
我有一个可以包含 1 到 5000 个字段的表单,这些字段通过 ajax 发送,我需要每 10 个字段发送一次,因为序列化不支持这么多的请求,我该怎么做?
我使用的是 laravel 5.8
$('#botaosalvar').on('click', function(event) {
event.preventDefault();
var serializeDados = $('#formdados').serializeArray();
console.log(serializeDados);
$.ajax({
type: 'POST',
url: "{{ route('originalMap_edit') }}",
data: serializeDados,
dataType: 'json'
}).done(function(res) {
console.log(res);
});
});
【问题讨论】:
-
您可以轻松地对数组进行分块并循环遍历它:stackoverflow.com/q/11318680/519413。 但是发送这么多 AJAX 请求并不是一个好主意。我建议您寻找一种方法来减少您需要发送的数据量,例如发送 AJAX 请求以在每个字段更新时保存它,或者有一种方法知道哪些字段已更改,以便只有他们发送到服务器而不是全部 5000
-
@RoryMcCrossan 我还要补充一点,我真诚地怀疑 10 是 POST 字段的限制。您需要非常大数据才能做到这一点。虽然请求正文可能有限,但我希望发送的值超过 10 个。
-
@RoryMcCrossan 这对我有帮助,我会拆分矩阵发送,谢谢