一般处理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 接收信息的范例,代码如下:
$.ajax({ type: "POST" , url: document.location, success: function (data, textStatus, jqXHR) { alert(data); }, error: function (jqXHR, textStatus, errorThrown) { alert(jqXHR.responseText); } });
PHP 传递错误信息的范例,代码如下:
if (php_sapi_name() == 'cgi' ){ header ( "Status: 400 Bad Request" ); } else { header ( "HTTP/1.0 400 Bad Request" ); } exit ( "储存失败!!" );
C# MVC 传递错误信息的范例,代码如下:
Response.TrySkipIisCustomErrors = true ; Response.StatusCode = 400; return Content( "储存失败!!" );
文章链接:
随便收藏,请保留本文地址!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版
視覺化網頁開發工具