【问题标题】:jquery autocomplete issue server sidejquery自动完成问题服务器端
【发布时间】:2015-12-24 17:56:32
【问题描述】:

我希望让this example on jquery autocoplete 工作 使用我制作的一个简单的自定义服务,但它根本不起作用。

sn-p:

$( "#city" ).autocomplete({
      source: function( request, response ) {
        $.ajax({
          url: "http://localhost:8085/TestJsonArrayAJAX/MyServlet",
          dataType: "jsonp",
          data: {
            q: request.term
          },
          success: function( data ) {

            alert("ciao");
            response( data );
          }
        });
      },
      minLength: 3,
      select: function( event, ui ) {
        log( ui.item ?
          "Selected: " + ui.item.label :
          "Nothing selected, input was " + this.value);
      },
      open: function() {
        $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
      },
      close: function() {
        $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
      }
    });

我注意到原始服务的输出是这样的:

jQuery1113013915240531787276_1443349161768(["Milaca, MN, United States","Milam, TX, United States");

同时我的服务输出类似于:

["Roma","Milano","Napoli","Palermo","Torino","Firenze","Pisa"]

因为我认为一个 json 数组就足够了,显然还不够。
为什么它不起作用,为什么一个简单的 json 数组还不够?
你能帮忙吗?

编辑:

像这样实现我的服务:

JSONArray jarr = new JSONArray();
        jarr.put("Roma");
        jarr.put("Milano");
        jarr.put("Napoli");
        jarr.put("Palermo");
        jarr.put("Torino");
        jarr.put("Firenze");
        jarr.put("Pisa");

String cb = request.getParameter("callback");
response.getOutputStream().print(cb+"("+jarr.toString()+");");

它有效,但我仍然不明白为什么??

【问题讨论】:

  • 什么?不清楚我在问什么?你一定是在开玩笑......

标签: jquery html json ajax autocomplete


【解决方案1】:

首先在你的代码中你不需要调用 log 函数,因为你没有在当前的代码片段中定义

第二次将dataType: "jsonp",更改为dataType: "json",

您提供的输入是 json 源而不是 jsonp,它们之间存在差异

【讨论】:

  • 我已经尝试过了,没有区别...自动完成列表仅在我的服务如下时显示 jQuery1113013915240531787276_1443349161768(["Milaca, MN, United States","Milam, TX , 美国");
  • 等等……就是这样……我很沮丧……我要花三个小时来解决这个问题……谢谢
猜你喜欢
  • 1970-01-01
  • 2012-02-11
  • 2021-09-07
  • 2011-11-30
  • 2010-11-01
  • 2016-09-01
  • 2018-06-14
  • 2010-12-04
  • 2011-08-08
相关资源
最近更新 更多