发表于: 2017-04-24 23:40:30

1 1001


今天完成的事情:

1 完成了任务7表单验证的功能,$http请求登陆接口成功;

2 对于angular很多基础概念不是很了解,又刷了一波angular基础教程及demo。


明天的计划:

搞定获取接口数据,完成任务7,继续刷angular教程。


遇到的问题:

1 请求登陆接口失败:

POST请求的协议并没有规定数据必须使用什么编码方式,而数据发送出去,还要服务器解析成功才行。服务器则通常根据请求头里的Content-Type字段来获知消息是以什么方式编码,再以对应方式解析。而有的接口服务器则不能解析某些编码方式的数据。因此需要对Content-Type进行设置。

最常见的Content-Type有:

 application/x-www-form-urlencoded

  最常见的POST提交格式,使用这个编码格式post的数据会以这种方式提交:key1=value1&key2=value2。而我们的任务中所用到的大多数接口都只支持这种编码格式。

  注意:jquery的POST默认就是application/x-www-form-urlencoded;而angular默认是application/json,而且若是提交的数据格式为json则需要序列化$.param(json),所以代码如下:

$scope.login = function () {
$scope.formData = {name: $scope.userName, pwd: $scope.userPassword};
   $http({
method: 'POST',
       url: "/carrots-admin-ajax/a/login",
       headers: {'Content-Type': 'application/x-www-form-urlencoded'},
       data : $.param($scope.formData)
}).then(function successCallback(response) {
alert('登陆成功');
       }, function errorCallback(response) {
alert('用户名或密码错误');
       }
)
}


2 一些基础概念的通俗化理解:

    mvc:核心思想实现“数据管理-数据模型Model、应用逻辑-控制器Controller、数据表现-视图View”三者的之间的分离。view从model获取数据把数据展示到界面上,当有用户操作处理交互时,控制器controller去改变数据model,然后通知view去做相应的改变;各司其职。

    双向绑定:意味着当model变化的时候,view也去改变,view改变的时候,model也会相应的发生变化,也就是MVVM的概念,VM就是view和model的枢纽所在。

    scope:是一个view和控制器之间的纽带,也就是作为数据模型model的,scope负责去监听model的变化,同时scope是和html结构一样具备层次结构的,每个angular app都会有且只有一个rootScope,他可以有childScope,每个childScope会有parentScope和childScope,也就意味着是可以继承的,继承方式也是原型继承,每一个childScope继承自他的parentScope。

    controller:view后的代码,在angular中,规范的是在controller中不出现任何的DOM操作,controller仅仅是去更改(创建)scope上的数据就ok了,所以在ag中跑单元测试时很容易的。

    directive:指令,可以说是angular中相当占分量的概念,可以理解为去扩展HTML元素,使其具备一定的特性或者功能,类似于组件化HTML的意思,如果说DOM操作的话,就是在这里完成的;有人说这是未来的方向还是很有道理的,未来通道polymer O(∩_∩)O

    依赖注入:其他好多语言也有这个概念,这样我们就不用创建依赖关系了,angular会自动帮我们注入到调用函数的参数中。


收获:

对angular又进一步的熟悉了;

搞清楚了下面两种写法的异同。

ng-model="userName"

ng-model="user.userName"


返回列表 返回列表
评论

    分享到