可以将两个具有相同名称的参数传递给服务吗?

时间:2012-12-12 17:58:28

标签: actionscript-3 flex air flash-builder

我将参数从Flash Builder应用程序传递到服务器。我想搜索"老师"和#34;房间"。我可以通过HTML页面执行此操作,如下所示:

<input type="checkbox" name="searchFor" value="teachers" />teachers 
<input type="checkbox" name="searchFor" value="rooms" />rooms 

所以有两个输入,都命名为searchFor。提交后,请求如下所示:

searchFor: teachers
searchFor: rooms

换句话说,传递了两个参数。

我尝试使用名为param的对象在Flash Builder中执行相同的操作:

param.query = pQuery;
param.searchFor = "teachers";
param.searchFor = "rooms";
searchUsersService(param); 

Flex会覆盖另一个,就像我怀疑的那样,所以提交的所有内容都是&#34; rooms&#34;。是否可以传递两个具有相同名称的参数? (或者我是否需要让服务器人员重命名他们的搜索参数?)

感谢。

1 个答案:

答案 0 :(得分:1)

你做不到。它只会覆盖以前的值:

param.query = pQuery;
param.searchFor = "teachers";
param.searchFor = "rooms";    //Will obviously override the previous value
searchUsersService(param); 

你能做的是:

param.searchFor = [ "teachers", "rooms" ];

或者

param.searchFor = new ArrayCollection();
param.searchFor.add( "teachers" );
param.searchFor.add( "rooms" );

然后在服务器端,您可以从阵列中获取所有值。