我将参数从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;。是否可以传递两个具有相同名称的参数? (或者我是否需要让服务器人员重命名他们的搜索参数?)
感谢。
答案 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" );
然后在服务器端,您可以从阵列中获取所有值。