首页 > 编程 > JavaScript > 正文

angularJS 发起$http.post和$http.get请求的实现方法

2019-11-19 16:33:15
字体:
来源:转载
供稿:网友

AngularJS发起$http.post请求

代码如下:

$http({   method:'post',   url:'post.php',   data:{name:"aaa",id:1,age:20} }).success(function(req){   console.log(req); }) 

这时候你会发现收不到返回的数据,结果为null,这是因为要转换成form data。

解决方案:

配置$httpProvider:

var myApp = angular.module('app',[]);  myApp.config(function($httpProvider){   $httpProvider.defaults.transformRequest = function(obj){    var str = [];    for(var p in obj){     str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));    }    return str.join("&");   }   $httpProvider.defaults.headers.post = {     'Content-Type': 'application/x-www-form-urlencoded'   } }); 

或者在post中配置:

$http({   method:'post',   url:'post.php',   data:{name:"aaa",id:1,age:20},   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("&");   } }).success(function(req){     console.log(req); }) 

AngularJS发起$http.post请求

代码如下:

  app.controller('sprintCtrl', function($scope, $http) {      $http.get("http://localhost:8080/aosapp/pt/service?formid=pt_aosapp_service_sprintlist&teamid=1")      .success(function (response) {console.log($scope.sprintlist=response);});    });

其实,angularjs 和 jquery js最大的区别在哪儿那,angularjs是你事先在心中构建好真个页面,然后用变量或者占位符来表示数据,数据来了,直接填充就可以了;而jquery则是动态的修改dom元素,如添加修改dom标签等。设计思想不一样。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表