ng使用post方法传递的参数是json格式,而Jq的post方法传递过去的参数是form表格传递方式,因此若是使用ng开发,最好一开始就和后台约定好接收数据时先解析json数据,否则后台颇有可能接收不了数据。html
虽然新版Jq也支持Promise,不过Ng的也很不错
附上一篇文章
http://www.javashuo.com/article/p-ejzplnve-h.htmlajax
通常使用Jq的Ajax时,都会作一些错误处理,然而若是项目庞大了,有些错误处理是重复屡次书写的。就算是简简单单写一个 error
方法,写多了也会以为很烦。json
可是Ng支持一个拦截器的服务segmentfault
angular.module("app").factory('myInterceptor', ['$log', function($log) { //拦截器 统一处理 登录异常状态 var myInterceptor = { response: function(response) { // $rootScope.loading = false; if (response.status == 200) { var info = response.data; if (info.status == 0) { location.href = "/adminWcloud/login.html"; } } else { ot.warn("此次请求发生错误") } response.config.responseTimestamp = new Date().getTime(); return response; } }; return myInterceptor; }]);
以上代码是建立一个叫myInterceptor
的服务,response
表示若是请求有响应时执行funtion
那么当请求状态为200
时就是请求成功,不是就是请求失败,因此统一一个错误提示方法(ot为本人封装好的一个提示方法
)。但请求成功不表明此次请求没有错误,例如我接收到请求数据有个字段属性为0时,表明 用户操做异常 , 我须要将用户弹回登录页面,从新登录。app
而后在app中注入服务ide
$httpProvider.interceptors.push('myInterceptor');