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

PHP如何传递Ajax成功或失败的状态?HTTP Status Codes可以实现

May 26, 2016 am 08:19 AM
http状态

一般处理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

2

3

4

5

6

7

8

9

10

$.ajax({    

   type: "POST" ,    

   url: document.location,    

   success: function (data, textStatus, jqXHR) {    

   alert(data);    

   },    

   error: function (jqXHR, textStatus, errorThrown) {    

   alert(jqXHR.responseText);    

   }    

});

登录后复制

 

PHP 传递错误信息的范例,代码如下:

1

2

3

4

5

6

if (php_sapi_name() == 'cgi' ){    

   header ( "Status: 400 Bad Request" );    

} else {    

   header ( "HTTP/1.0 400 Bad Request" );    

}

exit ( "储存失败!!" );

登录后复制

C# MVC 传递错误信息的范例,代码如下:

1

2

3

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

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)