$.getJSON 发生界面跳转-yellowcong

来源:互联网 发布:动画ppt制作软件 编辑:程序博客网 时间:2024/06/07 12:27

$.getJSON的使用过程中,发生了很奇葩很不解的问题,发送请求后AJAX的数据直接被填充到了服务器端,郁闷死本宝宝了,后来发现是ajax请求配置了全局的操作,设置了同步请求和error处理操作,ajax的全局设定是不可以被覆盖的,所以不要想着覆盖这个ajaxError 方法

ajax 的函数

通过ajaxStart和ajaxStop这两个方法,可以做界面请求的时候,不可以操作界面

//当一个当Ajax请求开始时将把id为"loading"的内容显示;$("#loading").ajaxStart(             function(){                      $(this).show(); //callback             } );//:当一个当Ajax请求结束时将把id为"loading"的内容隐藏;$("#loading").ajaxStop(    function(){          $(this).hide();         //call         } );

问题产生位置

大家看下面的代码,是ajax请求设定的共同操作,这些操作都是基于全局的,导致我界面跳转的是ajaxError这个破玩意,我发送的请求正常处理,反回200的状态吗,然后他居然跳转到error处理,然后把我界面数据都给干掉了,妈蛋

// ajaxの初期化$.ajaxSetup( {    type: 'post',    dataType: 'json',    global: true,    async: true,});//ajaxStart 开始$(document).ajaxStart(function() {});//ajaxStop 结束$(document).ajaxStop(function() {    sofia.ui.dispLoader(false);});// ajaxError错误处理$(document).ajaxError(function(event, XMLHttpRequest, options, thrownError){    var status = XMLHttpRequest.status;    var json = XMLHttpRequest.responseJSON;    //判断反回来结果    switch (status) {        case 200:            //  :root是选择文档的根元素 ,将根节点的数据替换成反悔的数据了            $(":root").replaceWith(XMLHttpRequest.responseText);            break;        case 400:            //             console.log(json.message, undefined);            break;        case 500:            console.log(json.message, undefined);            break;        default:            alert("status: " + status);    }});
原创粉丝点击