PHP如何傳遞Ajax成功或失敗的狀態(tài)?HTTP Status Codes可以實(shí)現(xiàn)
May 26, 2016 am 08:19 AM一般處理Ajax 回應(yīng)時(shí)會(huì)傳送的信息種類有:數(shù)據(jù)、成功信息、錯(cuò)誤信息、失敗信息以及處理狀態(tài),傳遞的信息種類并不一致,再加上除了數(shù)據(jù)之外,通常還希望能傳遞處理狀態(tài),這種情況大部分會(huì)選擇是以JSON 的方式傳遞這兩個(gè)信息,以下是常見的幾種格式:
但以執(zhí)行狀態(tài)跟操作行為作一個(gè)歸納,可以區(qū)分以下幾種傳遞結(jié)果:
{ code: 1, msg: "OK" } { success: true , result: "data" , errorMsg: "" } { status: 'success' , result: [], errorMsg: "" } //...
但以執(zhí)行狀態(tài)跟操作行為作一個(gè)歸納,可以區(qū)分以下幾種回傳結(jié)果:
數(shù)據(jù)操作 HTTP Method 成功 錯(cuò)誤/失敗
讀取(Read) GET 數(shù)據(jù) 錯(cuò)誤/失敗信息
新增 (Create) ?POST 成功信息 錯(cuò)誤/失敗信息
修改 (Update)
刪除 (Delete)
從上面的歸納可以看出規(guī)律性,接著只要有方法可以傳送處理的狀態(tài),以及能夠區(qū)分?jǐn)?shù)據(jù)的種類,其實(shí)就單純很多,而HTTP Status Codes 就是用來(lái)傳遞HTTP 的處理狀態(tài),如果利用這個(gè)方式來(lái)傳遞自定義的處理狀態(tài),這樣HTTP Content 就可以很單純傳遞數(shù)據(jù),讓數(shù)據(jù)格式不受限于JSON,還可以使用其他格式(text, xml, html),而且XMLHttpRequest 本身就有處理HTTP Status Codes 的能力,而jQuery.ajax 也有提供error status 的處理,所以可以利用這個(gè)來(lái)定義狀態(tài)的處理,在HTTP Status Codes 有幾個(gè)已經(jīng)定義狀態(tài),很適合用來(lái)傳遞處理狀態(tài)的信息:
400Bad Request錯(cuò)誤的請(qǐng)求適用在表單內(nèi)容的錯(cuò)誤,如必填欄位未填、Email 格式錯(cuò)誤
403Forbidden沒有權(quán)限,被禁止的適用在沒有登錄或權(quán)限不足
500Internal Server Error內(nèi)部服務(wù)器錯(cuò)誤適用在程序的錯(cuò)誤
jQuery 接收信息的范例,代碼如下:
$.ajax({ type: "POST" , url: document.location, success: function (data, textStatus, jqXHR) { alert(data); }, error: function (jqXHR, textStatus, errorThrown) { alert(jqXHR.responseText); } });
PHP 傳遞錯(cuò)誤信息的范例,代碼如下:
if (php_sapi_name() == 'cgi' ){ header ( "Status: 400 Bad Request" ); } else { header ( "HTTP/1.0 400 Bad Request" ); } exit ( "儲(chǔ)存失敗!!" );
C# MVC 傳遞錯(cuò)誤信息的范例,代碼如下:
Response.TrySkipIisCustomErrors = true ; Response.StatusCode = 400; return Content( "儲(chǔ)存失敗!!" );
文章鏈接:
隨便收藏,請(qǐng)保留本文地址!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)