发表于: 2017-05-31 23:48:32

5 1346


今天做了的事

完成任务7的大部分(使用$http服务进行提交数据),准备小课堂(angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?)却未果。 

明天要做的事: 

学习一下ng-repeat,完成任务七 
讲小课堂 

今天遇到的问题: 
1.昨天提到了GET方法使用params传输数据,POST方法使用data传输数据,但实际上这是不准确的。 
因为昨天使用data传输数据踩坑了,传过去是{object,object}这样的两个对象。 
师兄们普遍的做法是使用params传输 
但是我还是有点不解,于是就查了我昨天说过的transformRequest,这实际上一个转化请求类型的方法。百度资料得到这样的代码: 

transformRequest:function (obj) { 
var str = []; 
for (var p in obj) { 
str.push(encodeURIComponent(p) + “=” + encodeURIComponent(obj[p])); 

return str.join(“&”); 

后得知这串代码实际上是用于把对象或者字符串序列化,跟params是一样的,所以费什么劲呢。。。。。 
完整代码如下:

var app = angular.module('intoWife',[]);
app.controller ('mine',function($scope,$http) {
   $scope.signIn = function () {
       $http({
           method: "POST",
           url: "/carrots-admin-ajax/a/login",
           data: {
               name:$scope.name,
               pwd:$scope.pwd
},
           headers: {
               'Content-Type':'application/x-www-form-urlencoded'
           },
           transformRequest:function (obj) {
               var str = [];
               for (var p in obj) {
                   str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
               }
               return str.join("&");
           }
       }).then(function successCallback (data) {
           if(data.data.code===0) {
               window.location.href = "index.html"
           }
           else if(data.data.code===-5003) {
               document.getElementById("view").innerHTML="本站立足于美利坚合众国,针对年满18周岁非大陆全球华人开放,受北美法律保护。未经授权禁止复制或建立镜像。";
           }
   
       });
   }

});

2.昨天准备小课堂,心想这几个指令还不简单,然后就5点多开始写用于展示的例子。然后第一个ng-if,就想做一个可以展示和ng-show,ng-hide之间区别的例子,写到8点也没写完(中间吃了个饭),今天补今天补。这件事情告诉我们小课堂一定要提前准备,血的教训。 

感悟: 
写小课堂的例子的时候我就发现我还是习惯用js修改DOM增添属性之类的操作,对于ng没有一种知道怎么用之解决问题的清晰认知,还是用得少。就比如我用ng-init给ng-if一个初始值true,我想怎么通过触发某个事件来吧true改成false,一开始毫无头绪,后来意识到用controller.

ru…ruby是?!



返回列表 返回列表
评论

    分享到