1. 程式人生 > >ajax請求成功,失敗處理!

ajax請求成功,失敗處理!

  1. 請求失敗處理

function requesFail(xhr){
	var status = xhr.status;
	if (status) {
	    showNotify("error", "網路錯誤", "發生網路錯誤,錯誤碼為:" + xhr.status);
	} else {
	    showNotify("error", "網路錯誤", "未知網路錯誤, 請確保裝置處在聯網狀態");
	}
}

請求成功處理

function requestOk(data,errMsg,callbackOk,callbackError){
	if(data==undefined){
		showNotify('info','提示','無法從伺服器獲取詳細資料,請聯絡管理員')
	}else if(data.code==1){
		callbackOk(data);
	}else{
		callbackError(data,errMsg);
	}
}

*請求成功,返回data:{code:0,data:xx},此處認為code=0,為成功,呼叫成功後執行

callbackOk 是該請求成功後要進行的操作

code!=0即為出錯,執行出錯方法:

例項:

$('#toPost').click(function(){
		console.log('Post');
		$.ajax({
			type:"Post",
			url:postUrl,
			data:{
				account:'cd',
				password:'121212'
			},
			dataType:'json',
			success:function(data){
				requestOk(data,'',function(){
					console.log(data);
				},customCodeError);
			},
			error:function(xhr,state,errorThrown){
				requesFail(xhr);
			}
		});
	});

若code!=0 ,沒有特殊的code=n,需要做特別處理,則呼叫customCodeError,若有特殊處理,則根據特殊情況,自行封裝。

如:

function postCodeError(data,errMsg){
let code=data.code;
if(code==1001){
showNotify("info", "錯誤", "不合法使用者,錯誤碼:"+code);
}else{
showNotify("info", "錯誤", "使用者不存在,錯誤碼:"+code);
}
}

showNotify(),藉助pnotify外掛的一種顯示錯誤訊息的面板。可根據自己的需求進行封裝。應用時需匯入檔案

<link href="static/css/pnotify.css" rel="stylesheet"/><script src="static/js/common/pnotify.js"></script>
/*   notify 配置*  使用
showNotify("info", "提示", "這是提示語句");
showNotify("success", "成功啦", "這是成功語句");
showNotify("error", "失敗", "這是失敗語句");
*****************************************************************/
function showNotify(type, title, text) {
  var icons;
  if (type == "success") {
    icons = "fa fa-check-circle";
  }
  if (type == "error") {
    icons = "fa fa-exclamation-triangle";
  }
  if (type == "info") {
    icons = "fa fa-exclamation-circle";
  }
  var notice = new PNotify({
    title: title,
    text: text,
    type: type,
    delay: 2000,
    icon: icons,
    addclass: "notifyOnly",
    styling: "fontawesome",
    buttons: {
      closer: true,
      sticker: true
    }
  });
  notice.get().click(function() {
    notice.remove();
  });
}

相關推薦

ajax請求成功失敗處理

請求失敗處理 function requesFail(xhr){ var status = xhr.status; if (status) { showNotify("error", "網路錯誤", "發生網路錯誤,錯誤碼為:" + xhr.status);

ajax 請求成功但是後臺feigin請求超時解決方案

== class 技術分享 pre lee sun handler cati try ========後臺請求數據時間較長,報feigin超時錯誤====== fegin報錯如下: feign.RetryableException: Read timed out exe

jquery ajax請求成功返回了資料但是不進success回撥函式的問題

來自http://www.myexception.cn/ajax/413061.html --------------------------拷貝內容 start -------------------

JQUERY AJAX請求成功返回了資料但是不進SUCCESS的問題

在前天專案中碰到這個問題,原因是後臺java返回的json 不規範導致,我是先看先看下面的部落格找到的思路,但我不是用的他說的方法,我是把dataType:"json"註釋掉,把aynsc改為false,也就是非同步改為同步,解決的問題。 (adsbygoogle = window

jquery ajax請求成功返回了資料但是不進success的問題 【轉】

      這幾天一直被 ajax請求成功,返回了資料,但是不進success的問題困擾著,怎麼弄就是解決不了,總以為 是:$(document).ready(function(){});沒起作用,一直找頁面載入的方法來試,整了好幾天沒整出來....今天比較幸運, 在網上找到了一篇關於這方面問題的文章,按

利用Jsonp跨域大發888搭建請求數據(原生和Jquery的ajax請求簡單易懂

回調 需要 執行 服務端 aaa ESS json http 子域 前言 :本文示例部署大發888搭建QQ2952777280【】 hxforum.com 在XAMPP建站集成軟件包上,在localhost環境下進行測試 1、什麽是跨域 由於瀏覽器同源策略,凡是發送請求ur

ajax請求成功但是跳到error的一種情況

1. ajax請求 $.ajax({ url: ctx + "/auditHangup/getAuditUrl" , type:'POST', data: params, dataType:'json

ajax後端請求成功前端進入error處理

個人總結原因: 1. dataType格式為json,只識別返回型別{"aa":"11","bb":"22"},諸如{'aa':'11'}, {"aa":11,"bb":22}都非標準格式 解決方案: dataType格式改為text 2.跨域訪問 解決如上

jquery ajax請求成功也有response但是不進success

error: json格式 回調函數 區分 回調 服務 erro 就會 watcher 1.狀態碼返回200--表明服務器正常響應了客戶端的請求;2.通過firebug和IE的httpWatcher可以看出服務器端返回了正常的數據,並且是符合業務邏輯的數據,但是,程序就是不

ajax獲取伺服器靜態資源(一個.json檔案)請求成功有檔案返回但是ajax回撥卻進了error(一個回車鍵惹出的禍)

問題描述:同事反應問題:向後臺請求json檔案,完了在前臺渲染一個表格,但是始終渲染不出來。  $.ajax({              &nbs

ajax傳送請求成功伺服器也響應成功但是前臺就是接不到資料

      ajax傳送請求成功,伺服器也響應成功,但是前臺就是接不到資料,除錯了半天原來是在除錯介面過程print_r()其中一步,和最後返回的值一起發回前臺,導致最後返回的資料不是json格式,無法獲取資料;以下是程式碼: <?php requi

ajax請求成功之後返回的資料怎樣顯示到頁面跟隨表單一起提交

.val用來獲取input框內輸入的值 ajax裡 $("#imageSrc").val(data); // 獲取到輸入的值 對應html裡 < input name=“data[imageSrc]” id=“imageSrc” type=“hidden”> .html,用來

Ajax請求成功獲取success中的返回的問題

1.問題描述:在使用Ajax獲取josn傳過來的集合後,在success回撥函式中對josn資料解析完成之後,返回的值為空 2.解決辦法:設定Ajax的方法引數async為false,

前臺ajax請求JsonDate型別處理

情景:在用ajax請求json資料,後臺Java從Mysql中獲取資料,當資料庫中包含date型別時,前臺可以自動轉換為日期字串格式,如2013-12-27. 而資料庫中的datetime型別,前臺顯示的卻是一串數字。 處理:首先在前臺得到javascript可以識別的d

【Azure API 管理】APIM CORS策略設定後跨域請求成功失敗的Header對比實驗

  在文章“從微信小程式訪問APIM出現200空響應的問題中發現CORS的屬性[terminate-unmatched-request]功能”中分析了CORS返回空200的問題後,進一步對APIM的CORS策略進行驗證,深入學習<CORS 跨域資源共享>。 首先,我們已經學習到COR

ajax請求後臺有時收不到返回值的解決辦法

無法 傳輸 返回值 文件 新建 spa 所有 是我 chan 昨天下午做項目遇到一個問題,貼出來方便以後翻閱,也給大家個參考。 問題: 具體做的是個文件導入的功能,導入的功能是成功了,但是界面一直得不到返回值,排查了一下午,調試的時候是可以有返回的,但是關掉瀏覽器調試界面,

關於ajax請求資料並將資料賦值給全域性變數的一些解決方法

在使用ajax請求資料是,開始的時候是打算將ajax的資料取出,並賦予給全域性變數,但是在實際編碼過程中發現並不能將資料賦予給最開始定義的全域性變數,出現這個問題的原因是由於ajax非同步載入的原因,所以只能用其他方法來解決,下來是解決的方法 第一個解決方法沒有使用全域性變數,直接在ajax請求中將請求到的

ajax請求資料生成Bootstrap-table

**_Menthod1.js $(function(){ var shebeiId="GPRS_TEST"; var startTime=$("#startTimePart").val() + ':00'; var endTime=$("#endTimePart").v

ajax請求介面後端已經訪問到了前端報404

調介面報錯如下: Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Tue Sep 11 16:01:

POST請求成功但介面返回資料不正確

事件:使用Jmeter做APP的搜尋介面測試,請求成功了,但無論keyword是什麼“內容”(這裡的內容是帶引號的哦),介面返回的內容都是:未匹配到搜尋結果   排查問題: keyword=“世界”   step1:確認介面通的 ,Response code: 200 step