发表于: 2017-05-06 23:14:39

1 1014


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)

 完成angular路由配置页面跳转

angular请求服务器数据

abgular登录
明天计划的事情:(一定要写非常细致的内容) 

angular列表
遇到的问题:(遇到什么困难,怎么解决的) 

在使用为什么无论账号密码是否正确,都会进入登录成功页面

// if(rel.status=='200')//为什么无论账号密码是否正确,都会进入登录成功页面
               //status  响应的HTTP状态码

收获:(通过今天的学习,学到了什么知识)

 AngularJS中$http服务是简单的封装了浏览器原生的XMLHttpRequest对象

我们可以使用内置的$http服务直接同外部进行通信。

$http服务是只能接受一个参数的函数,这个参数是一个对象,包含了用来生成HTTP请求的配置内容。这个函数返回一个promise对象,具有success和error两个方法。

由于$http方法返回一个promise对象,我们可以在响应返回时用then方法来处理回调。如果使用then方法,会得到一个特殊的参数,它代表了相应对象的成功或失败信息,还可以接受两个可选的函数作为参数。或者可以使用success和error回调代替。

then()方法与其他两种方法的主要区别是,它会接收到完整的响应对象,而success()和error()则会对响应对象进行析构。

angular.module("admin", ['ngMessages'])
.controller('cont1', function ($scope, $state, $http) {   //, $state, $ocLazyLoad
   $scope.login = function () {
       $http({
           method: 'post',
           //method 可以是:GET/DELETE/HEAD/JSONP/POST/PUT
           url: '/carrots-admin-ajax/a/login',
           //url:绝对的或者相对的请求目标网址
           data: $.param({name: $scope.name, pwd: $scope.password}),
           //data(字符串或者对象) 中包含了将会被当作消息体发送给服务器的数据。通常在发送POST请求时使用。
           headers: {'Content-Type': 'application/x-www-form-urlencoded'}
       }).then(function(rel) {
           //rel 是一个响应对象
           if (rel.data.message == 'success')
           //data 代表转换过后的响应体
           // if(rel.status=='200')//为什么无论账号密码是否正确,都会进入登录成功页面
               //status  响应的HTTP状态码
               //进入后台页面
               $state.go('dashboard')
           else {
               $('.warning').text(rel.data.message);
               $('.warning').css('visibility', 'visible');
           }
       });
   }
})
;



返回列表 返回列表
评论

    分享到