关于jquery ui autocomplete的问题

$.ajax({
        type: "POST",
        url: "/settingPage/userManage/all",
        dataType: "json",
        success: function (msg) {
            $("#projectUser").autocomplete(msg, {
              minChars: 1,                    //最少输入字条
              max: 12,
              autoFill: false,                //是否选多个,用","分开
              mustMatch: false,               //是否全匹配, 如数据中没有此数据,将无法输入
              matchContains: true,            //是否全文搜索,否则只是前面作为标准
              scrollHeight: 220,
              width: 147,
              multiple: false,
              formatItem: function (row, i, max) {                    //显示格式
                console.log(row.username)
                return "<span>" + row.id + "</span><span>" + row.username + "</span>";
              },
              formatMatch: function (row, i, max) {               //以什么数据作为搜索关键词,可包括中文,
                return row.username;
              },
              formatResult: function (row) {                      //返回结果
                return row.id
              }
            })
        }
      });

这是js代码
图片描述

这是json。
我这样获取一直报错,
jquery-ui.min.js:9 Uncaught TypeError: this.source is not a function。
但是我把json换成本地获取就没问题了,不知道为什么。求解答谢谢!

阅读 3.8k
1 个回答

最直接的建议,你把返回的msg整个打印出来,然后和你直接本地取得数据进行比对,看有什么不同,而且我看好像你解析的位置,并没有解析msg里的数据!

你后端返回的数据是msg,然而你在解析的时候, 并没有使用后端传来msg的数据啊!还有autocomplete是从服务器取数据,为啥要post请求!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题