搜尋
首頁php教程php手册PHP如何传递Ajax成功或失败的状态?HTTP Status Codes可以实现

一般处理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( "储存失败!!" );


文章链接:

随便收藏,请保留本文地址!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用