Javascript 如何使用值数组作为参数生成原型ajax请求?
我试图在原型中使用multirecordselect中的一些值进行ajax更新,它发送一个请求,如Javascript 如何使用值数组作为参数生成原型ajax请求?,javascript,ajax,prototypejs,Javascript,Ajax,Prototypejs,我试图在原型中使用multirecordselect中的一些值进行ajax更新,它发送一个请求,如 Parameters: {"action"=>"use_campaign", "campaigns"=> ["27929","27932"] , "advertiser_id"=>"", "controller"=>"admin/reporting", "ad_id"=>""} 正如您所看到的,请求将“活动”元素作为一个值数组发送,我正试图在prototype 7
Parameters: {"action"=>"use_campaign", "campaigns"=> ["27929","27932"] , "advertiser_id"=>"", "controller"=>"admin/reporting", "ad_id"=>""}
正如您所看到的,请求将“活动”元素作为一个值数组发送,我正试图在prototype 7上对这个js代码执行相同的操作
// get the campaigns
var campaign_ids = {};
var campaigns = $('filter_form').getInputs("hidden","report[campaigns][]");
campaigns.each( function(field) {
campaign_ids.push(field.value);
});
new Ajax.Updater('ad_filter', '/admin/reporting/use_campaign', {
method : 'get',
asynchronous : true,
evalScripts : true,
parameters : {
'advertiser_id' : $('filter_form')['report[advertiser_id]'].value,
'ad_id' : $('filter_form')['report[ad_id]'].value,
'campaigns' : campaign_ids
}
});
活动ID以数组的形式获取正确的信息,如:
[ "27929", "27932" ]
但prototype ajax update似乎正在发送如下请求:
http://my_domain/admin/reporting/use_campaign?ad_id=&advertiser_id=&campaigns=27929&campaigns=27932
发送的参数如下:
Parameters: {"action"=>"use_campaign", "campaigns"=> "27929" , "advertiser_id"=>"", "controller"=>"admin/reporting", "ad_id"=>""}
我也试过了
Object.toJSON(campaign_ids)
但我只得到一个像
Parameters: {"action"=>"use_campaign", "campaigns"=>"[\"27929\",\"27932\"]" , "advertiser_id"=>"", "controller"=>"admin/reporting", "ad_id"=>""}
不管怎么说,还是有办法按照我的意愿去做
谢谢大家。看起来您使用PHP作为后端框架。 为了确保PHP像GET参数一样理解数组,您需要在参数名称中添加一个
[]
:
parameters : {
//...
'campaigns[]' : campaign_ids
}
看起来您使用PHP作为后端框架。 为了确保PHP像GET参数一样理解数组,您需要在参数名称中添加一个
[]
:
parameters : {
//...
'campaigns[]' : campaign_ids
}
好吧,愚蠢的我,只需输入正确的参数“活动[]”,而不是“活动”。对不起,ask=)好吧,愚蠢的我,只需输入正确的参数“活动[]”,而不是“活动”。抱歉问=)谢谢我已经解决了它,并发表了评论,因为stackoverflow不让我回答自己。。。不管怎样,萨克是。我正在使用rails=)啊,很有趣。看起来RoR也遇到了同样的问题。谢谢,我已经解决了这个问题,并发表了评论,因为stackoverflow dosen不让我回答自己。。。不管怎样,萨克是。我正在使用rails=)啊,很有趣。看起来RoR也有同样的问题。