jquery datatable ajax返回错误 [英] jquery datatable ajax returns an error
本文介绍了jquery datatable ajax返回错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这里是我的代码,在视觉工作室12的机器中完美地从web服务返回症状列表。
$(' #manLeg')。mapster($。extends({},options,{
onClick:function(e){
if(e.key ==='toes ')
{
$ .ajax({
url:SympsService.asmx / GetSymptoms,
方法:post,
dataType:json
data:JSON.stringify({organ_name:toes}),
contentType:application / json,
success:function(data){
createDataTable('# on(click,tbody button,function(evt)){moveRow(#);
createDataTable(#symptomsTable,null);
$('#choiseTable) evt,'#choiseTable','#symptomsTable');})
$('#symptomsTable')。on(click,tbody button,function(evt){moveRow (evt,'#symptomsTable','#choiseTable'); })
var sympList ='GetSymptoms'? JSON.parse(data.d):data.d;
createDataTable('#symptomsTable',sympList);
函数createDataTable(target,data){
$(target).DataTable({
destroy:true,
paging: false,search:false,info:false,data:data,
columnDefs:[{
targets:[-1],render:function(){
return< button type ='button'>+(target =='#choiseTable'?'Remove':'Choose')+< / button>
}
} ],
列:[
{
'data':'Sympt',
'title':'toes Symptoms',
class:'center'
},
{
'data':null,'title':'Action'
}
]
});
}
function moveRow(evt,fromTable,toTable){
var table1 = $(fromTable).DataTable();
var table2 = $(toTable).DataTable();
var tr = $(evt.target).closest(tr);
var row = table1.rows(tr);
var obj = {'Sympt':row.data()[0] .Sympt};
table2.row.add(obj).draw();
row.remove()。draw();
}
},
错误:function(error,status){
console.log(error);
调试器;
}
});
但是当我在visual studio 13上的另一台机器上运行它时,它会在console.log上返回错误)。错误是:
Object {readyState:4,getResponseHeader:.ajax / x.getResponseHeader(),getAllResponseHeaders:.ajax / x.getAllResponseHeaders(),setRequestHeader:.ajax / x.setRequestHeader(),overrideMimeType:.ajax / x.overrideMimeType(),statusCode:.ajax / x.statusCode(),abort:.ajax / x.abort()状态:.Deferred / d.state(),始终:.Deferred / d.always(),然后:.Deferred / d.then(),11更多...}
pre>
这让我疯狂,因为我需要在该机器上运行它,但不明白这是什么错误的意思。
任何一种帮助将不胜感激。感谢高级。解决方案我重组了一下,这个
$('#manLeg')。mapster($。extend({},options,
{
onClick:function(e){
if(e.key ==='toes'){
doAjax();
}
}
}));
函数doAjax(){
$ .ajax({
url:SympsService.asmx / GetSymptoms,
方法:post
dataType:json,
data:JSON.stringify({organ_name:toes}),
contentType:application / json,
success:function ){
createDataTable('#choiseTable',null);
createDataTable(#symptomsTable,null);
$('#choiseTable')on(click,tbody按钮,功能(evt){moveRow(evt,'#choiseTable','#symptomsTable');})
$('#symptomsTable')。on(click,tbody button evt){moveRow(evt,'#symptomsTable','#choiseTable');})
var sympList ='GetSymptoms'?JSON.parse(data.d):data.d;
createDataTable '#symptomsTable',sympList);
},
error:function(responseError,status){
console.log(responseError);
调试器;
}
});
}
函数createDataTable(target,data){
$(target).DataTable({
destroy:true,
paging:false,searching:false,info:false,data:data,
columnDefs:[{
targets:[-1],render:function(){
return< button type ='button'>+(target =='#choiseTable'?'Remove':'Choose')+< / button>
}
}],
列:[
{
'data':'Sympt',
'title':'toes Symptoms',
class:'center'
},
{
'data':null,'title':'Action'
}
]
} );
}
function moveRow(evt,fromTable,toTable){
var table1 = $(fromTable).DataTable();
var table2 = $(toTable).DataTable();
var tr = $(evt.target).closest(tr);
var row = table1.rows(tr);
var obj = {'Sympt':row.data()[0] .Sympt};
table2.row.add(obj).draw();
row.remove()。draw();
}
here is my code which return symptoms list from web service perfectly in my machine in visual studio 12.
$('#manLeg').mapster($.extend({}, options,{ onClick: function (e) { if (e.key === 'toes') { $.ajax({ url: "SympsService.asmx/GetSymptoms", method: "post", dataType: "json", data: JSON.stringify({ organ_name: "toes" }), contentType: "application/json", success: function (data) { createDataTable('#choiseTable', null); createDataTable("#symptomsTable", null); $('#choiseTable').on("click", "tbody button", function (evt) { moveRow(evt, '#choiseTable', '#symptomsTable'); } ) $('#symptomsTable').on("click", "tbody button", function (evt) { moveRow(evt, '#symptomsTable', '#choiseTable'); }) var sympList = 'GetSymptoms' ? JSON.parse(data.d) : data.d; createDataTable('#symptomsTable', sympList); function createDataTable(target, data) { $(target).DataTable({ destroy: true, paging: false, searching: false, info: false, data: data, columnDefs: [{ targets: [-1], render: function () { return "<button type='button'>" + (target == '#choiseTable' ? 'Remove' : 'Choose') + "</button>" } }], columns: [ { 'data': 'Sympt', 'title': 'toes Symptoms', class: 'center' }, { 'data': null, 'title': 'Action' } ] }); } function moveRow(evt, fromTable, toTable) { var table1 = $(fromTable).DataTable(); var table2 = $(toTable).DataTable(); var tr = $(evt.target).closest("tr"); var row = table1.rows(tr); var obj = { 'Sympt': row.data()[0].Sympt }; table2.row.add(obj).draw(); row.remove().draw(); } }, error: function (error, status) { console.log(error); debugger; } });
but when i run it in another machine on visual studio 13 it returns error on console.log(error). the error is:
Object { readyState: 4, getResponseHeader: .ajax/x.getResponseHeader(), getAllResponseHeaders: .ajax/x.getAllResponseHeaders(), setRequestHeader: .ajax/x.setRequestHeader(), overrideMimeType: .ajax/x.overrideMimeType(), statusCode: .ajax/x.statusCode(), abort: .ajax/x.abort(), state: .Deferred/d.state(), always: .Deferred/d.always(), then: .Deferred/d.then(), 11 more… }
this drive me crazy because i need to run it on that machine but can not understand what is this error meaning. Any kind of help will be greatly appreciated.Thanks in advanced.
解决方案I reorganized it a bit and come up with this
$('#manLeg').mapster($.extend({}, options, { onClick: function (e) { if (e.key === 'toes') { doAjax(); } } })); function doAjax() { $.ajax({ url: "SympsService.asmx/GetSymptoms", method: "post", dataType: "json", data: JSON.stringify({ organ_name: "toes" }), contentType: "application/json", success: function (data) { createDataTable('#choiseTable', null); createDataTable("#symptomsTable", null); $('#choiseTable').on("click", "tbody button", function (evt) { moveRow(evt, '#choiseTable', '#symptomsTable'); } ) $('#symptomsTable').on("click", "tbody button", function (evt) { moveRow(evt, '#symptomsTable', '#choiseTable'); }) var sympList = 'GetSymptoms' ? JSON.parse(data.d) : data.d; createDataTable('#symptomsTable', sympList); }, error: function (responseError, status) { console.log(responseError); debugger; } }); } function createDataTable(target, data) { $(target).DataTable({ destroy: true, paging: false, searching: false, info: false, data: data, columnDefs: [{ targets: [-1], render: function () { return "<button type='button'>" + (target == '#choiseTable' ? 'Remove' : 'Choose') + "</button>" } }], columns: [ { 'data': 'Sympt', 'title': 'toes Symptoms', class: 'center' }, { 'data': null, 'title': 'Action' } ] }); } function moveRow(evt, fromTable, toTable) { var table1 = $(fromTable).DataTable(); var table2 = $(toTable).DataTable(); var tr = $(evt.target).closest("tr"); var row = table1.rows(tr); var obj = { 'Sympt': row.data()[0].Sympt }; table2.row.add(obj).draw(); row.remove().draw(); }
这篇关于jquery datatable ajax返回错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文