1. 程式人生 > >ajax()不執行success也不執行error的分析和解決

ajax()不執行success也不執行error的分析和解決

呼叫後臺新增功能,data能夠正常傳入後臺,資料庫成功更新,但是ajax()既不進入success,也不進入error。

  1. 檢查ajax中datatype與後臺返回值資料型別。
//ajax資料
$.ajax({
        type:"POST",
        datatype:"json",//資料型別為json
        url:"addNewService",
        data:{
            "serviceName":serviceName,
            "sendIpAddrStr":sendIpAddrStr,
            "recvIpAddrStr":recvIpAddrStr,
            "recvPortType":recvPortType,
            "recvPort":recvPort
        },
        //後臺程式碼
        System.out.println("資料庫更新條數"+iii);
        jsonObjectResult.put("msg", iii);
        return jsonObjectResult;
  1. 檢查是否進入error:
		success:function(data){
            if (1 == data.msg) {
                location.reload(true);
                alert('新增資料成功!');
            } else {
                alert('新增資料失敗!');
            }
        },
        error:function(data){
            console.log("msg",data.msg);
            console.log("flag",data.flag);
            location.reload(true);
        }

執行發現未進入error,但是資料庫新增成功。

  1. 經驗證發現是在ajax的非同步傳輸還未完成驗證,頁面已進行重新整理。由於頁面用的是layui框架(基於bootstrap),bootstrap框架下form表單中的按鈕被點選後會自動重新整理頁面。
  2. 解決方案,將form改為div即可,頁面樣式不會發生變化。