jquery datatable ajax返回错误 [英] jquery datatable ajax returns an error

查看:289
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆