Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Objectify e JSP中的自动完成查询和响应_Javascript_Jquery_Jsp_Autocomplete_Objectify - Fatal编程技术网

Javascript Objectify e JSP中的自动完成查询和响应

Javascript Objectify e JSP中的自动完成查询和响应,javascript,jquery,jsp,autocomplete,objectify,Javascript,Jquery,Jsp,Autocomplete,Objectify,我正在尝试使用jqueryautocomplete、ajax、objectify和JSP实现一个简单的自动完成。但问题是,我不能用一个建议列表来执行查询以响应以json格式发送到Jquery。我该怎么做?这是我的代码: function showData(value){ $.ajax({ url : "categoriaServlet?action=autoC&name="+value, type : "POST", async

我正在尝试使用jqueryautocomplete、ajax、objectify和JSP实现一个简单的自动完成。但问题是,我不能用一个建议列表来执行查询以响应以json格式发送到Jquery。我该怎么做?这是我的代码:

function showData(value){ 
    $.ajax({
        url : "categoriaServlet?action=autoC&name="+value,
        type : "POST",
        async : false,
        success : function(data) {
            console.log(data);
            $("#nam").autocomplete(data);
    }
    });
}
这是一段jsp代码:

public void autoc(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    String name = req.getParameter("name");
    System.out.println(name);
    ObjectifyService.register(Categoria.class);
    System.out.println(ofy().load().type(Categoria.class).filter("nome in", ofy().load().type(Categoria.class)).list());

那么如何才能正确地执行查询以发送建议列表呢?谢谢

我决定了。代码如下:

public void autoc(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException, JSONException {
    String name=req.getParameter("name");
    System.out.println(name);
    ObjectifyService.register(Categoria.class);
    System.out.println(ofy().load().type(Categoria.class).filter("nome in", ofy().load().type(Categoria.class)).list());
    System.out.println(ofy().load().type(Categoria.class).filter("nome", name).list());
    QueryResultIterable<Categoria> lista=ofy().load().type(Categoria.class).iterable();
    ArrayList<String> l= new ArrayList<String>();
    for(Categoria c : lista){
        l.add(c.getNome());
    }
    StringBuilder sb= new StringBuilder();
    ArrayList<String> l2= new ArrayList<String>();
    String search = name;
    sb.append("[");
    for(String str: l) {
        sb.append(str);
        sb.append("\"");
        if(str.trim().contains(search)){
           sb.append(str);
        sb.append("\"");
        sb.append(",");}
    }
    sb.append("\"");
    sb.append("\"");
    sb.append("]");


    resp.setContentType("application/json");  // Set content type of the response so that jQuery knows what it can expect.
    resp.setCharacterEncoding("UTF-8");
    resp.getWriter().write(sb.toString());
}
public void autoc(HttpServletRequest-req、HttpServletResponse-resp)
抛出ServletException、IOException、JSONException{
字符串名称=req.getParameter(“名称”);
System.out.println(名称);
ObjectifyService.register(Categoria.class);
System.out.println(of y().load().type(Categoria.class).filter(“nome in”,of y().load().type(Categoria.class)).list());
System.out.println(of y().load().type(Categoria.class).filter(“nome”,name).list());
QueryResulterable lista=ofy().load().type(Categoria.class).iterable();
ArrayList l=新的ArrayList();
对于(类别c:lista){
l、 添加(c.getNome());
}
StringBuilder sb=新的StringBuilder();
ArrayList l2=新的ArrayList();
字符串搜索=名称;
某人加上(“[”);
for(字符串str:l){
某人附加(str);
某人加上“\”;
如果(str.trim()包含(搜索)){
某人附加(str);
某人加上“\”;
某人附加(“,”;}
}
某人加上“\”;
某人加上“\”;
某人加上(“]”);
resp.setContentType(“application/json”);//设置响应的内容类型,以便jQuery知道它可以期望什么。
分别为setCharacterEncoding(“UTF-8”);
分别是getWriter()写(sb.toString());
}
这是我的剧本:

<script type="text/javascript">
function showData(value) {
    var x=null;
    $.ajax({
        url : "categoriaServlet?action=autoC&name=" + value,
        type : "POST",
        async : false,
        success : function(data) {
            console.log(data);
            x = data;

        }
    });
    $("#nam").autocomplete({ source: x
    });
};

函数showData(值){
var x=null;
$.ajax({
url:“categoriaServlet?action=autoC&name=“+value,
类型:“POST”,
async:false,
成功:功能(数据){
控制台日志(数据);
x=数据;
}
});
$(“#nam”).autocomplete({来源:x)
});
};