JQuery 使用 java 自动完成以使用多个 JSON 值

JQuery autocomplete with java to use multiple JSON value

我正在尝试在 java 服务器端使用 jQuery 自动完成功能。我有一个名为联系信息的表格,其中有两个名为名字和姓氏的字段。当您在联系人信息上单击保存时,它会将名字和姓氏保存在 sql 列 c_first_name 和 c_last_name 下。当前 json 正在 returning: [{"c_first_name":"Reur","c_last_name":"Raman"},{"c_first_name":"John","c_last_name":"Joon"}]。 这是我的 ajax 函数:

function caseIlete() {

    jQuery(document).ready(function() {
        jQuery(function() {
                jQuery("#Cant, #Caseorney, #CaseInput_employer, #Caney").autocomplete({

                 // source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]

                source : function (request, response) {
                jQuery.ajax({
                        url : "page.request.do?page=page.ajax.autocomplete",
                        type : "GET",
                        data : {
                                term : request.term
                        },
                        dataType : "json",
                        success : function(data) {  


                           data = data[0].c_first_name + " " + data[0].c_last_name;


                            var dataArray = [data];

                            response(dataArray);



                        }
                });
        }




});
});
});

这是我的 java 控制器文件:

public class Controller implements Pler {

    public Response execute(Pagxt t) throws ApplicationException {

        TextResponse tr = t.createTextResponse();

        tr.setContentType("application/json");

        try {


            String term = t.getPeters().getSingle("term");
            String sqlJson = t.ceSQL("Select c_first_name from t_coct").fetchJSON();
            tr.put("aadata", sqlJson);


        }catch (Exception e ) {

            e.printStackTrace();
        }


        return tr;

    }

}

请注意,Json 列表会随着我们在联系表中输入更多人而增加。目前为了让它工作,我将数据指向:

 data = data[0].c_fiame + " " + data[0].c_le;

这是 sql 数据库中的第一条记录。我希望能够自动填充 sql 中可用的两条记录,例如 Reazur Ra​​hman 和 John Johnson。很多在线示例做了类似 response(data) 的事情,但对我来说根本不起作用。我不得不 return 作为 dataArray 响应。我也试过:

for (var i = 0; i < data.length; i++) {

data = data[i].c_firme + data[i].c_l_name //Also just returns Reazur Rahman

} 

在您的 ajax 成功中,这就是您所需要的

var dataArray = [];
for(var k = 0; k < data.length; k++) {
    // Add items to array
    dataArray.push(data[k].c_first_name + " " + data[k].c_last_name);
}

response(dataArray);