jQuery ajax走error的原因

最近在做异步请求的时候,发现一个头疼的问题,jQuery的ajax返回数据时,走的是error函数,而不是success函数。上网查了一些资料,原来是jQuery的版本问题。

    function refreshMoney(){
        //显示账户余额 异步加载账户余额
        $.ajax({
            type : "get",
            url : "${basePath}csService/rest/userinfo/queryMoney",
            data : {
                mobile : '${mobile}'
            },
            dataType : "json",
            success : function(data) {
                data = data['responseText'];
                var array = data.split(",", 2);
                  /* $("#accountMoney",parent.document).text(data); */
                parent.document.getElementById("accountMoney").innerHTML=array[0];
            },
            error : function(data) {
                data = data['responseText'];
                var array = data.split(",", 2);
                /* $("#accountMoney",parent.document).text(data); */
                parent.document.getElementById("accountMoney").innerHTML=array[0];
            }
        });

解释一下程序:我在后台返回数据时,如果只是一个值或者几个值,我更喜欢直接用‘,’拼接字符串的方式返回值,在客户端用split()函数将返回值分开,这样更简单一点,不必再用jsonArray转换,但是在ajax中设置的返回类型还是json,这样的话,服务器还是会传一个json格式的字符串,我传回来的字符串实际是保存在responseText这个key中,所以data[‘responseText’]才是我真正要得到的字符串,然后split这儿值。
言归正传:在1.3版本的jQuery以后,严格要求了json格式,如果返回的值不是json格式,他就会执行error函数。所以如果想让他走success函数的话,还是在后台把数据格式化成json格式吧。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值