2012-06-24 21 views
1

나는 클라이언트 측에서 아래와 같이 선택했습니다 :GAE 측에서 여러 선택 항목으로 select의 모든 값을 얻는 방법은 무엇입니까?

데이터는 아래의 코드를 사용하여 서버로 전송됩니다
<select multiple="multiple" id="reason" class="input-xlarge"> 
    <option value="001">reason1</option> 
    <option value="002">reason2</option> 
    <option value="003">reason3</option> 
    <option value="004">reason4</option> 
    <option value="005">reason5</option> 
</select> 

:

var reason = $('#reason').val(); 
$.ajax({ 
    data: {'reason': reason}, 
    ... 
}); 
... 

그리고 서버에서 내가 할 :

from google.appengine.ext import webapp 
from google.appengine.ext.webapp.util import run_wsgi_app 
arguments = self.request.arguments() 
for argument in arguments: 
    if self.request.get(argument): 
     self.response.out.write(argument+': '+self.request.get(argument)+'<br>') 

몇 가지 이유가 선택 되더라도 결과는 다음과 같습니다.

reason[]: 002 

모든 값을 선택하려면 어떻게해야합니까?

. 그들은 같은 요청에 전달됩니다

reasons = self.request.get_all('reason[]') 
for reason in reasons: 
    logging.info(reason) 

을하지만 난 싫어 :

reason%5B%5D=001&reason%5B%5D=002&reason%5B%5D=003&reason%5B%5D=004 

답변

1

OK, 나는 아래의 코드로 (GAE의 IRC에서 lericson 덕분에) 그들 모두를 얻을 수 있습니다 그것은 서버 측에서 필드 값의 하드 코딩을 가정하므로. 그래서 reason.join() 대신 reason을 보내도록 자바 스크립트를 수정했습니다.