设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP怎样传递Ajax成功或失败的状态?

发布时间:2022-02-23 14:53 所属栏目:121 来源:互联网
导读:一般处理Ajax 回应时会传送的信息种类有:数据、成功信息、错误信息、失败信息以及处理状态,传递的信息种类并不一致,再加上除了数据之外,通常还希望能传递处理状态,这种情况大部分会选择是以JSON 的方式传递这两个信息,以下是常见的几种格式: 但以执行状态跟
  一般处理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" );     
  }   //开源软件:Cuoxin.com
  exit ( "储存失败!!" );
  C# MVC 传递错误信息的范例,代码如下:
 
  Response.TrySkipIisCustomErrors = true ;    
  Response.StatusCode = 400;    
  return Content( "储存失败!!" );

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读