RedLeaf
RedLeaf
  • 发布:2015-07-21 15:05
  • 更新:2015-07-21 15:05
  • 阅读:3108

MUI的 ajax请求超时时间,请帮忙看下是否是MUI ajax请求的问题。

分类:MUI

用Hbulid做前端页面的时候遇到ajax请求报错的问题。测试了很常时间好像跟HBulid的mui有关。
同样的方法我用web页面测试了一遍就是正常的。
客户端请求:
<script>
mui.plusReady(function() {
getAddressList();
});

        //加载列表  
        function getAddressList() {  
        var addressurl = rootUrl + '/UserAddress/GetUserAddressList';  
        var data = JSON.stringify({encodedId:plus.storage.getItem('user_id')});  
        mui.ajax(addressurl,{  
            data:data,  
            dataType:'json',  
            contentType:'application/json; charset=utf-8',  
            type:"post",  
            timeout:1000000,  
            async: false,  
            success:function(result) {  
                if (result.resultCode == 1000) {  
                    var addresses = result.list;  
                    for (var i in addresses) {  
                        console.log('A'+addresses[i].status);  
                    }  

                } else {  
                    console.log('3');  
                    mui.toast('服务器异常,请稍后重试!', {  
                        duration: 3500  
                    });  
                }  
            },  
            error:function(xhr, type, errorThrown) {  
                console.log(xhr.status);  
                if (type == 'timeout') {  
                    console.log('5');  
                    mui.toast('连接超时,请稍后重试!', {  
                        duration: 3500  
                    });  
                } else if (type == 'error') {  
                    console.log('6');  
                    mui.toast('连接异常,请稍后重试!', {  
                        duration: 3500  
                    });  
                }  
            }  
        });  
        console.log('complete');  
    }  

服务器端JAVA代码:
/* 获取收货人信息列表/
@RequestMapping(value = "/GetUserAddressList", method=RequestMethod.POST, produces="application/json; charset=utf-8")
@ResponseBody
public AddressPageModel getUserAddressList(@RequestBody AddressPageModel addressPage) {
AddressPageModel back = new AddressPageModel();

    Integer userId = Integer.parseInt(EncryptUtil.decode(addressPage.getEncodedId()));  
    //如果我在这个地方打个断点等待20秒左右就会报错。如果直接让他执行就正常。也就是说异步等待没有任何效果。同样的如果用网页一切正常。  
    back.setResultCode(ResultCode.FAILED);  
    try {  
        List<UserAddress> list = userAddressService  
                .getUserAddressListByUserId(userId);  
        back.setList(list);  
        back.setResultCode(ResultCode.SUCCESS);  
    } catch (Exception e) {  
        e.printStackTrace();  
    }  
    return back;  
}
2015-07-21 15:05 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复