首页 > 代码库 > angularjs中ajax请求时传递参数的方法

angularjs中ajax请求时传递参数的方法

method1方法使用的是params参数,该用法会把参数直接附加到url中

method2方法使用的是data参数,该参数会把页面参数类型从默认的multipart/form-data改为application/x-www-form-urlencoded类型,并且将传递的data解析为字符串,该方法会以post参数的方式传递

下面是代码部分:

<html ng-app="myApp"><head><title>angularjs-ajax</title><script type="text/javascript" src="../../lib/ionic/js/angular/angular.min.js" charset="utf-8"></script></head><body ng-controller="ctrl"><input type="button" value="抓取页面内容1" ng-click="method1()" /> <input type="button" value="抓取页面内容2" ng-click="method2()" /> <div style="border: 1px solid #ccc;width: 500px;height:400px;">{{content}}</div><script>    var app = angular.module(myApp,[]);        app.config(function($provide){                    $provide.factory("transFormFactory",function(){            return {                transForm : function(obj){                    var str = [];                      for(var p in obj){                        str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));                      }                     return str.join("&");                  }            };        });    });        app.controller("ctrl",function($scope,$http,$q,transFormFactory){                $scope.method1 = function() {            $scope.url = "http://localhost:8081/Learning5/T1.action";            $http({method:"POST",url:$scope.url,params:{msg:abc}}).success(function (data) {                $scope.content = data;            });        };                $scope.method2 = function() {            $scope.url = "http://localhost:8081/Learning5/T1.action";            $http({method:"POST",url:$scope.url,data:{msg:123},transformRequest:transFormFactory.transForm,headers:{Content-Type: application/x-www-form-urlencoded}}).success(function (data) {                $scope.content = data;            });        };    });    </script>    </body></html>

 

angularjs中ajax请求时传递参数的方法