2012-03-28 1 views
1

요청을 보내는 multirecordselect에서 일부 값으로 프로토 타입에서 ajax 업데이트를 만들려고합니다. 값 배열을 매개 변수로 사용하여 프로토 타입 아약스 요청을 만들려면 어떻게해야합니까?

Parameters: {"action"=>"use_campaign", "campaigns"=> ["27929","27932"] , "advertiser_id"=>"", "controller"=>"admin/reporting", "ad_id"=>""} 

당신이 요청이 값의 배열로 '캠페인'요소를 전송 볼 수

, 난이 프로토 타입을 통해 7

// 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 
       } 
}); 

campaigns_ids를 코드를 JS와 동일한 작업을 수행하기 위해 노력하고있어 같은 배열로 올바른 정보를 얻고있다 :

[ "27929", "27932" ] 

을하지만 프로토 타입 아약스 업데이트와 같은 요청 보내는 것 같다

,369을
http://my_domain/admin/reporting/use_campaign?ad_id=&advertiser_id=&campaigns=27929&campaigns=27932 

것 같은 매개 변수를 보냅니다 나는 또한

Object.toJSON(campaign_ids) 

와 tryed하지만 난 전용으로 이렇게 어쨌든이

Parameters: {"action"=>"use_campaign", "campaigns"=>"[\"27929\",\"27932\"]" , "advertiser_id"=>"", "controller"=>"admin/reporting", "ad_id"=>""} 

같은 이스케이프 문자열을 얻을

Parameters: {"action"=>"use_campaign", "campaigns"=> "27929" , "advertiser_id"=>"", "controller"=>"admin/reporting", "ad_id"=>""} 

나는 원한다?

고맙습니다.

+0

확인 바보 나, 단지 대신 '캠페인'의 오른쪽 매개 변수 '캠페인 []'를 넣어. 죄송합니다 물어보십시오 =) – andresbravog

답변

5

PHP를 백엔드 프레임 워크로 사용하는 것처럼 보입니다. 는 확인 PHP 배열과 같은 GET 매개 변수를 이해하게하는 need to add 매개 변수 이름에 [] :

  parameters : { 
       //... 
       'campaigns[]' : campaign_ids 
      } 
+0

덕분에 나는 그것을 해결하고 stackoverflow dosen't로서 답글을 게시 자신을 대답하자 ... thak의 어쨌든. 나는 레일을 사용하고 있습니다. =) – andresbravog

+0

아, 재미 있습니다. RoR이 같은 문제로 고통받는 것처럼 보입니다. – user123444555621

관련 문제