首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将datatable与自动完成的JSON数组绑定

将datatable与自动完成的JSON数组绑定
EN

Stack Overflow用户
提问于 2013-11-21 20:39:32
回答 1查看 983关注 0票数 0

我使用一个自动完成字段从服务器获取数据并在datatable中显示:

$(#).autocomplete({

代码语言:javascript
复制
    source: function (request, response) {
         $.ajax({
             url: "http://myhost.com/webservices/test3.cfm",
             data: request,
             success: function (data) {
                    $('#results').dataTable({
                        "bProcessing": true,
                        "bJQueryUI": true,
                        "bLengthChange": true,
                        "bFilter": true,
                        "bAutoWidth": false,
                        "bRetrieve" : true,
                        "aaData": data , 
                        "aoColumns": [
                            { "sTitle": "Name", "sName": "name" },
                            { "sTitle": "Title", "sName": "title" },
                            { "sTitle": "Organization", "sName": "organization" },
                            { "sTitle": "Email", "sName": "email" },
                            { "sTitle": "Status", "sName": "status" }
                        ]
                    });
             }
         });
    }

ajax调用返回的数据如下:

[“史蒂文、格里克”、“总裁”、“金沙公司”、"steven@yahoo.com“、"1”、“史蒂文、格里克”、“协理”、“联盟有限公司”、"steven@yahoo.com“、"1”、“史蒂文、格里克”、“总裁”、“林产品协会”、"steven@yahoo.com“、"1"]

我得到以下错误:

  • DataTables警告(表id =“结果”):从第0行数据源请求未知参数“1”
  • DataTables警告(表id =“结果”):从第9行数据源请求未知参数“1”
  • 显示2 147项中的1至10项

如果我替换"aaData":data

根据数据中的答复:

"aaData":[“史蒂文,格里克”、“总裁”、“金沙公司”、"steven@yahoo.com“、"1”、“史蒂文、格里克”、“合伙人”、“联盟有限公司”、"steven@yahoo.com“、"1”、“史蒂文、格里克”、“总裁”、“林产品协会”、"steven@yahoo.com“、"1"]

它起作用了。

知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-28 16:02:18

在一个同事的帮助下解决了这个问题:我的ajax调用中的数据类型是一个字符串。

代码语言:javascript
复制
$("#firstname").autocomplete({
    source: function (request, response) {
     $.ajax({
         url: "http://myhost.com/webservices/test3.cfm",
         data: request,
         success: function (data) {
            var obj = jQuery.parseJSON(data);      <---- typeof data is a string
            $('#results').dataTable({
                "bProcessing": true,
                "bJQueryUI": true,
                "bLengthChange": true,
                "bFilter": true,
                "bAutoWidth": false,
                "bRetrieve" : true,
                "aaData": obj,                 <---- Use the parsed json object instead
                "aoColumns": [
                    { "sTitle": "Name", "sName": "name" },
                    { "sTitle": "Title", "sName": "title" },
                    { "sTitle": "Organization", "sName": "organization" },
                    { "sTitle": "Email", "sName": "email" },
                    { "sTitle": "Status", "sName": "status" }
                ]
            });
         }
     });
   },

});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20131403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档