在提交不同数量的POST变量时,我正在寻求有关最佳实践的建议。
我是否使用JSON或某些字符分隔列表将所有值合并到一个字段中或使用“autocomplete1”,“autocomplete2”等字段序列。
jQuery是否有json编码器?
提前致谢, 本
答案 0 :(得分:2)
这取决于您最终合并的数据。我们经常使用表单字段数组 (例如,< input type =“text”name =“fieldName []”>< input type =“checkbox”name =“fieldName []”value =“true”>)。这将在提交后访问时将所有表单字段放入数组中。然后,您可以使用像PHP这样的服务器端语言来解析数组并随意执行任何操作。
如果您需要单独的字段名称,您始终可以使用单独的名称命名表单字段,然后将它们与服务器端合并为:
foreach( $_POST as $p=>$v )
{
$arrayFields[$p] = $v;
}
如果这是严格的客户端,我只需增加所需的字段并具有标准字段名称,后跟“_1”,“_ 2”等。您可以根据需要轻松地将它们合并到客户端或服务器端
我不确定JSON功能会对此有所帮助。
答案 1 :(得分:1)
要向服务器提交各种后期变量,最好的方法是将它们作为独立参数发布。像这样的请求可以解决这个问题:
http://server/automcompleter?autocomplete1=value1&autocomplete2=value2&...
实际上,如果你可以创建一个这样的多值参数:
http://server/automcompleter?autocomplete=value1&autocomplete=value2&...
参数autocomplete
最终将成为一个数组。如果您使用的是php,则参数需要是调用者autocomplete[]
。
至于回归使用json。
您可以使用jQuery UI 1.8 plugin执行自动填充功能。
答案 2 :(得分:0)
要回答你问题的最后一部分,是的,jQuery的json插件已成功使用,项目页面位于http://code.google.com/p/jquery-json/