最有效的方式传递数据从php隐藏表单字段或json_encode
Most efficient way of passing data from php to hidden form field or json_encode
所以我的特殊问题如下-我有一个PHP页面,它循环遍历坐标列表并在我的页面上显示它们。
除此之外,我还想把它们显示在地图上。
我想出了两种方法来做这件事,这两种方法都有效——我很好奇哪一种是最好的,为什么?
我的理解是,通过放置我的javascript在下面,我的javascript不执行,直到我的页面加载。正是由于这个原因,这两种方法都有效。
$(document).ready(function()
{
});
第一个是隐藏表单字段。我可以通过我的经度和纬度,并获得他们在我的javascript文件使用jQuery。
第二种是直接使用
<script type='text/javascript'>
var myarray = <?php echo JSON_encode($array); ?>;
</script>
在我的PHP脚本中,然后访问/循环通过它在我的Javascript文件中,以类似的方式,我循环通过它在我的PHP文件。
for (var i=0, tot=myarray.length; i < tot; i++)
{//plot points}
谢谢
我肯定会使用JavaScript数组。
原因:
(1)表单字段是发布到服务器,你不这样做。那么,当您不需要隐藏的输入元素时,为什么要向DOM添加它们呢?
(2)使用JavaScript数组中的值会更容易。迭代它们更容易,而且它们不必是字符串值。当您获得隐藏输入元素的值时,它是一个字符串。然后,如果它确实是其他类型,则必须将其解析为另一种类型。JavaScript值甚至可以是嵌套的对象。
我不会担心性能基准。不会有什么显著的差别。易于编码更重要。
考虑以下情况:如果您使用选项2(在服务器上循环),并且同时有200个请求,那么每个请求将在服务器中执行此循环。现在,当您对数组进行JSON编码并将其提供给客户端时,您就完成了在服务器中的操作,让不同的浏览器(客户端)处理其余的工作。现在,当您必须将相同数量的数据(200)序列化到json时,情况就变了。所以这是一个速度和性能的问题:哪个更快?哪一个执行更好的JSON_encode
或for
循环和写一切到服务器与echo()
?答案会根据对象的大小而变化。因此,无论如何,继续测试哪一个更快,对您的脚本进行一个简单的基准测试就足够了。
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 添加和删除隐藏字段数组中的值,而不提交表单
- 单击鼠标,用MySQL数据填充html表单输入字段
- 带有条件字段的PHP表单
- 防止在输入字段上单击事件
- 高级自定义字段按单选按钮值排序
- 使用JQuery启用输入字段的单选框
- SmartyStreets:使用条件字段调整表单中已验证勾号的位置
- 组合功能以使用 Jquery 在一组单选按钮中显示输入字段和单选按钮
- 使只读字段不可单击
- 使用 JavaScript 进行 HTML 字段表单验证
- JavaScript 在不输入输入字段/表单的情况下传递输入
- JQuery 在动态添加输入字段时单击浏览,而 ajax 不起作用
- 我可以让时间选择器在输入字段中单击时触发吗?
- 将隐藏字段表单值传递给控制器
- 隐藏小视口中的字段,单击按钮再次显示
- 我可以给html文本字段表单中的元素提供相同的名称和id吗
- 在新行上显示输入字段(基于单选)
- 在文本字段(表单)后插入节点
- 动态生成的名称字段的单选按钮组验证