国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP如何傳遞Ajax成功或失敗的狀態?HTTP Status Codes可以實現

2024-05-04 21:49:47
字體:
來源:轉載
供稿:網友

一般處理Ajax 回應時會傳送的信息種類有:數據、成功信息、錯誤信息、失敗信息以及處理狀態,傳遞的信息種類并不一致,再加上除了數據之外,通常還希望能傳遞處理狀態,這種情況大部分會選擇是以JSON 的方式傳遞這兩個信息,以下是常見的幾種格式:

但以執行狀態跟操作行為作一個歸納,可以區分以下幾種傳遞結果:

{ code: 1, msg: "OK" } { success: true , result: "data" , errorMsg: "" } { status: 'success' , result: [], errorMsg: "" } //...

但以執行狀態跟操作行為作一個歸納,可以區分以下幾種回傳結果:

數據操作 HTTP Method 成功 錯誤/失敗

讀取(Read) GET 數據 錯誤/失敗信息

新增 (Create)  POST 成功信息 錯誤/失敗信息

修改 (Update)

刪除 (Delete)

從上面的歸納可以看出規律性,接著只要有方法可以傳送處理的狀態,以及能夠區分數據的種類,其實就單純很多,而HTTP Status Codes 就是用來傳遞HTTP 的處理狀態,如果利用這個方式來傳遞自定義的處理狀態,這樣HTTP Content 就可以很單純傳遞數據,讓數據格式不受限于JSON,還可以使用其他格式(text, xml, html),而且XMLHttpRequest 本身就有處理HTTP Status Codes 的能力,而jQuery.ajax 也有提供error status 的處理,所以可以利用這個來定義狀態的處理,在HTTP Status Codes 有幾個已經定義狀態,很適合用來傳遞處理狀態的信息:

400Bad Request錯誤的請求適用在表單內容的錯誤,如必填欄位未填、Email 格式錯誤

403Forbidden沒有權限,被禁止的適用在沒有登錄或權限不足

500Internal Server Error內部服務器錯誤適用在程序的錯誤

jQuery 接收信息的范例,代碼如下:

  1. $.ajax({     
  2.    type: "POST" ,     
  3.    url: document.location,     
  4.    success: function (data, textStatus, jqXHR) {     
  5.        alert(data);     
  6.    },     
  7.    error: function (jqXHR, textStatus, errorThrown) {     
  8.        alert(jqXHR.responseText);     
  9.    }     
  10. });  

PHP 傳遞錯誤信息的范例,代碼如下:

  1. if (php_sapi_name() == 'cgi' ){     
  2.    header ( "Status: 400 Bad Request" );     
  3. else {     
  4.    header ( "HTTP/1.0 400 Bad Request" );     
  5. }   //開源軟件:Vevb.com 
  6. exit ( "儲存失敗!!" ); 

C# MVC 傳遞錯誤信息的范例,代碼如下:

  1. Response.TrySkipIisCustomErrors = true ;    
  2. Response.StatusCode = 400;    
  3. return Content( "儲存失敗!!" );

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 民权县| 蕉岭县| 枣阳市| 北辰区| 广南县| 桦甸市| 余江县| 台湾省| 当阳市| 潼关县| 巩留县| 慈溪市| 渝中区| 织金县| 会宁县| 温宿县| 嘉祥县| 砚山县| 上思县| 游戏| 巴青县| 亳州市| 巩留县| 民和| 阳信县| 景洪市| 辉县市| 黑水县| 水城县| 惠水县| 易门县| 即墨市| 扎兰屯市| 盐亭县| 武陟县| 都匀市| 西林县| 玛纳斯县| 南靖县| 紫金县| 新邵县|