json
からオブジェクトを取得success
したいajax
これは私がこれまでに行ったことです
私のドロップダウンリスト
<select id="testers_team" class="tester_team">
<optgroup label="Current Value">
<option><c:out value="${info.team}"></c:out></option>
</optgroup>
<optgroup label="Teams">
<c:forEach var="team" items="${requestScope.testers}">
<option value="${team.key}">${team.key}</option>
</c:forEach>
</optgroup>
</select>
これは私Ajax
のものです。select
上記はループによって繰り返されるため、それぞれを使用して、どのドロップダウンで作業しているかを知る必要があります(皆さんにお知らせするためだけに)
$('.tester_team').each(function(){
$(this).change(function() {
$.ajax({
url: 'Analysis',
type: 'POST',
dataType: 'json',
data: {team: $(this).val()},
success: function(data){
alert(data); // alert not working
}
});
});
});
私はGson
自分のサーブレットでコードを使用しています:
String team = request.getParameter( "team" );
HashMap<String, ArrayList<String>> testerList
= new UsersDAO().getTestersOfAllTeams();
ArrayList<String> testers = testerList.get( team );
if( testers != null )
{
response.setContentType( "application/json" );
response.setCharacterEncoding( "UTF-8" );
try
{
response.getWriter().write( new Gson().toJson( testers ) );
//this one is printing so that means it actually succeed to parse?
System.out.println( team );
}
catch( IOException e )
{
// just want to test out if it really failed
System.out.println( "failed" );
log.debug( "Unable to get parse request", e );
}
}
問題はスクリプトにあります。ドロップダウンリストを変更しても関数がAjax
トリガーされません。コードの問題は何ですか? alert(data);
または私はコードを悪用していますか?