easyUI form提交與springMVC交互時服務端返回的錯誤處理


asyUI form的submit接口中沒有提供error回調函數,網上一種解決方案是串聯.success(function(){}).error(function(){}),然后通過jqXHR進行統一處理;但是我發現這種方案不論服務端返回正確還是異常,都會調用.error(),而且這樣寫代碼也有點亂。經過兩天摸索,基本找到了解答。
對於post提交的數據,服務端的controller定義為void,不必返回值,通過在controller上注解的方式控制返回的http頭。在這里發現對於easyUI form提交與$.ajax提交,controller返回方式應該有所區別,前者 返回HttpStatus.SUCCESS,后者HttpStatus.NOCONTENT。
在前端easyUI form提交可以通過檢查success(data)的data == ''來處理成功回調,而$.ajax提交則指定error回調函數。
大致代碼如下:
$.ajax({
    url:url,//對應controller返回HttpStatus.NOCONTENT,出錯拋出異常
    type:'post',
    data:data,
    success:function(res){},//成功處理
    error:function(err){}//錯誤處理
});
$('#fm').form({
    url:url,//對應controller返回HttpStatus.SUCCESS,出錯拋出異常
    success:function(res){
        if(res == ''){
            //成功處理
        }else{//錯誤處理
        }
    },
    'json'
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM