2

私は jQuery を初めて使用し、データベースへの ajax 呼び出しでオートコンプリート ウィジェットを使用しようとしています。

データベースを呼び出し、文字列値の ArrayList を返し、応答を JSON オブジェクトとして変換することができましたorg.codehaus.jackson.map.ObjectMapper(何か他のものを使用する必要がありますか?)。

祭壇を置くと、結果はカンマ区切りの純粋な文字列として表示されますが、オートコンプリートで候補リストを表示することはできません。

以下を使用して JSON オブジェクトを返す Java コードorg.codehaus.jackson.map.ObjectMapper:

response.setContentType("application/json");
response.setHeader("cache-control", "no-cache");  
ArrayList polNo = doa.getPolicyData(ajaxForm.getPolicyNumber());
ObjectMapper mapper = new ObjectMapper();  
OutputStream out = response.getOutputStream();
mapper.writeValue(out, polNo);

JavaScript コード:

$( "#policyNumber" ).autocomplete({
 source: function (request,response){

 $.ajax({  
 type: "POST",     
 url: "/NB/AjaxSubmit.do",   
  dataType: "json",        
  data: {policyNumber: request.term},

   success: function (data) { 
   alert(data);    
   }

  });  

 },minLength: 3
});

次のように表示されるアラート データ:TMA412732,TMA412733,TMA412734


上記のコードでは、文字列値の ArrayList を返し、自動入力で表示できました。上記のコードを拡張して、名、姓などを持つ人物オブジェクトのリストを返すようにしました。ユーザーが autopopulate で名字または名字を入力すると、名、姓、中間を提案したいと思います。

誰かがこれを強化するのを助けることができますか? ありがとう!

success: function(data) { response(data);//u は応答にデータを設定するのを忘れていました }

4

1 に答える 1

0

Change success function like

success: function (data) {
response(data); //u forgot to set data on response

}

于 2013-07-09T13:11:14.650 に答える