2010-05-24 21 views
1

提交不同数量的POST变量时,我正在寻求有关最佳实践的建议。提交自动完成的最佳格式?

难道我使用JSON或某些字符分隔列表中的所有值合并成一个字段或使用像“autocomplete1”,“autocomplete2”等字段的顺序。

jQuery的是否有一个JSON编码器?

由于提前, 本

回答

2

这取决于就你最终合并的数据做什么。我们经常使用的一种形式字段阵列 (例如:< INPUT TYPE = “文本” 名称= “fieldName的[]”> < INPUT TYPE = “复选框” 名称= “fieldName的[]” 的值= “真”>)。这将在提交后访问时将所有表单字段放入数组中。然后,您可以使用像PHP这样的服务器端语言来解析数组,并根据需要执行任何操作。

如果需要单独的字段名,你总是可以命名有不同的名称表单字段,然后将它们合并服务器端的东西,如:

foreach($_POST as $p=>$v) 
{ 
    $arrayFields[$p] = $v; 
} 

如果这是严格的客户端,我只想增加必要的字段并有一个标准的字段名称,后跟“_1”,“_2”等。您可以根据需要轻松地将它们合并到客户端或服务器端。

我不知道有关JSON的能力,这将有助于在这里。

+0

我不知道PHP可以解释这个[]这样的字段名称作为数组。谢谢 – Keyo 2010-05-24 02:29:40

1

要提交各种后变量到服务器的最好的办法是张贴他们作为独立的参数。像这样的请求,应该做的伎俩:

http://server/automcompleter?autocomplete1=value1&autocomplete2=value2&... 

事实上,如果你可以创建一个多值参数是这样的:

http://server/automcompleter?autocomplete=value1&autocomplete=value2&... 

其中参数autocomplete最终将是一个数组。如果您使用的是PHP参数需要调用者autocomplete[]

至于返回使用json。

可以使用jQuery UI 1.8 plugin做自动完成。