发表于: 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');
}
});
}
});
评论