Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一个隐藏输入vs 1000个隐藏输入?_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 一个隐藏输入vs 1000个隐藏输入?

Javascript 一个隐藏输入vs 1000个隐藏输入?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有大约1000个隐藏输入要发送到laravel。我想我有两个选项来发送这些输入 选项1: 我做了1000个隐藏输入,然后把它们发送给拉威尔 <input type="hidden" name="id[1]" value="some stuff"> <input type="hidden" name="id[1]" value="some stuff"> .. <input type="hidden" name="id[100]" value="some stuff

我有大约1000个隐藏输入要发送到laravel。我想我有两个选项来发送这些输入

选项1:

我做了1000个隐藏输入,然后把它们发送给拉威尔

<input type="hidden" name="id[1]" value="some stuff">
<input type="hidden" name="id[1]" value="some stuff">
..
<input type="hidden" name="id[100]" value="some stuff">

..
选项2:

我只将1个隐藏输入作为JSON对象,其中包含所有其他隐藏输入

<input type="hidden name="value" value="A_JSON_OBJECT">

我的意思是,您可以在所有字段的名称中使用数组表示法
[]
,以便在服务器端接收数组,例如:

//Same name for all the fields
<input type="hidden" name="id[]" value="some stuff">

文件.php
中,您收到
$\u POST['id'中的数据作为数组。

如果您要创建1000个HTML元素,当然浏览器会处理它,但它可能会非常重

POST数据还将被详细翻译为:

id%5B%5D=Some+stuff&id%5B%5D=Some+stuff&id%5B%5D=Some+stuff&id%5B%5D=Some+stuff...

这是对每个元素重复的
&id%5B%5D=
。这是1000个项目的10K分隔符,可能比需要的大9K(或者比在单个字段值中使用JSON编码的数组大7K)。

使用数组表示法代替
name=“id[]”。
。@ZakariaAcharki感谢您的关注。您的具体意思是什么?您不会得到任何性能差异,因为无论哪种方式都会捕获和发送相同数量的数据。但是,显然,发送一个对象而不是收集1000个对象是一种更好的设计方法。在我看来,使用数组,将它们作为单独的字段发送可能需要更多的处理时间。@ScottMarcus谢谢,先生。还有一个问题,有没有办法将jquery会话存储发送到php文件?
id%5B%5D=Some+stuff&id%5B%5D=Some+stuff&id%5B%5D=Some+stuff&id%5B%5D=Some+stuff...