[jQuery] 关于使用 ajax 时处理返回的数据

这里作个记录平时使用的经验:

 

/* ************************************

假设正确的返回值格式为:
{"state":1,"msg":"return_message"}

************************************
*/
$.ajax({
    'type': 'POST',
    'dataType': 'json', // 注意这里使用了 json
    'url':'http://www.test.com/', 
    'data': 'your_data=your_data',
    success:  function(data){
         try
        {
             if (data.state == 1)
            {
                 // 处理
            }
             else
            {
                 // 处理
            }
        }
         catch (err)
        {
            alert(err);
        }
    },
    error:  function(data){
         // 这里不能使用 data.msg 来获取返回的信息
         // 因为只要返回的数据格式不是 json,都会跑到这里
         var msg = '网络错误,请重新尝试';
        alert(msg);
    }
});

/* ****************************************

返回值有可能是 json,也有可能不是 json

*****************************************
*/
$.ajax({
    'type': 'POST',
    'dataType': 'json', // 注意这里使用了 json
    'url':'http://www.test.com/', 
    'data': 'your_data=your_data',
    success:  function(data){
         try
        {
             if (data.state == 1)
            {
                 // 处理
            }
             else
            {
                 // 处理
            }
        }
         catch (err)
        {
            alert(err);
        }
    },
    error:  function(data){
         var msg = '网络错误,请重新尝试';
         // 如果是 json 格式
         if (data.match("^\{(.+:.+,*){1,}\}$"))
        {
            data = eval("("+data+")");
            msg = data.msg;
        }
        alert(msg);
    }
});  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值