Javascript 从autocomplete将datatable与绑定到JSON数组
我使用自动完成字段从服务器获取数据,并在数据表中显示: $(“#firstname”).autocomplete({ ajax调用返回的数据为:Javascript 从autocomplete将datatable与绑定到JSON数组,javascript,jquery,json,autocomplete,datatable,Javascript,Jquery,Json,Autocomplete,Datatable,我使用自动完成字段从服务器获取数据,并在数据表中显示: $(“#firstname”).autocomplete({ ajax调用返回的数据为: [[“史蒂文,格雷克”,“总裁”,“金沙集团”steven@yahoo.com“,“1”],[“史蒂文,格雷克”,“合伙人”,“联盟有限公司,”steven@yahoo.com,“1”],[“史蒂文,格雷克”,“主席”,“林产品协会”steven@yahoo.com“,“1”]] 我得到以下错误: DataTables警告(表id='results'
[[“史蒂文,格雷克”,“总裁”,“金沙集团”steven@yahoo.com“,“1”],[“史蒂文,格雷克”,“合伙人”,“联盟有限公司,”steven@yahoo.com,“1”],[“史蒂文,格雷克”,“主席”,“林产品协会”steven@yahoo.com“,“1”]] 我得到以下错误:
- DataTables警告(表id='results'):从数据源为行0请求了未知参数'1'
- DataTables警告(表id='results'):从数据源为第9行请求了未知参数'1'
- 显示2147个条目中的1到10个
数据中有来自的响应:
“aaData”:[[“史蒂文,格雷克”,“总裁”,“金沙集团”steven@yahoo.com“,“1”],[“史蒂文,格雷克”,“合伙人”,“联盟有限公司,”steven@yahoo.com,“1”],[“史蒂文,格雷克”,“主席”,“林产品协会”steven@yahoo.com“,“1”]] 它起作用了
知道我做错了什么吗?在一位同事的帮助下找到了答案: 来自ajax调用的数据类型是字符串
$("#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" }
]
});
}
});
},
$(“#firstname”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“http://myhost.com/webservices/test3.cfm",
数据:请求,
成功:功能(数据){
var obj=jQuery.parseJSON(数据);
$("#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" }
]
});
}
});
},