AngularJS发送异步Get/Post请求方法


Posted in Javascript onAugust 13, 2018

1、在页面中加入AngularJS并为页面绑定ng-app 和 ng-controller

<body ng-app="MyApp" ng-controller="MyCtrl" >
...
<script src="js/angular.min.js"></script>
<script src="js/sbt.js"></script>

2、添加必要的控件并绑定相应的事件

get:<input type="text" ng-model="param">{{param}} <br>
 post: <input type="text" ng-model="user.name"><input type="text" ng-model="user.password"><br>
 <button ng-click="get()">Get</button>
 <button ng-click="post()">Post</button>

3、在JS脚本中发送进行Get/Post请求

get

$scope.get = function () {
  $http.get("/get", {params: {param: $scope.param}})
   .success(function (data, header, config, status) {
    console.log(data);
   })
   .error(function (data, header, config, status) {
    console.log(data);
   })
  ;
 }

get 将参数放在URL中

$scope.get = function () {
  $http.get("/get?param="+$scope.param)
   .success(function (data, header, config, status) {
    console.log(data);
   })
   .error(function (data, header, config, status) {
    console.log(data);
   })
  ;
 }

post

$scope.post = function () {
  $http.post("/post", $scope.user)
   .success(function (data, header, config, status) {
    console.log(data);
   })
   .error(function (data, header, config, status) {
    console.log(data);
   })
  ;
 }

4、由Controller处理请求并返回结果

get

@RequestMapping("/get")
 @ResponseBody
 public Map<String,String> get(String param) {
  System.out.println("param:"+param);
  response.put("state", "success");//将数据放在Map对象中
  return response;
 }

post

@RequestMapping("/post2")
 @ResponseBody
 public void post2(@RequestBody User user, HttpServletResponse resp) {
  //返回不同的http状态
  if(user.getName()!=null&&!user.getName().equals("")){
   resp.setStatus(200);
  }
  else{
   resp.setStatus(300);
  }
 }

如果需要配置请求头部

$http({
   method : "POST",
   url : "/post",
   data : $scope.user
  }).success(function(data, header, config, status) {
   console.log(data);
  }).error(function(data, header, config, status) {
   console.log(data);
  });

5、由JS http请求的回调函数处理并执行下一步操作

HTML

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Request</title>
</head>

<body ng-app="MyApp" ng-controller="MyCtrl" >
get:<input type="text" ng-model="param"><br>
post: <input type="text" ng-model="user.name"><input type="text" ng-model="user.password"><br>
 <button ng-click="get()">Get</button>
 <button ng-click="post()">Post</button>
</body>
<script src="js/angular.min.js"></script>
<script src="js/sbt.js"></script>
</html>

sbt.js

var app = angular.module("MyApp", []);
app.controller("MyCtrl", function ($scope, $http) {

 $scope.get = function () {
  $http.get("/get", {params: {param: $scope.param}})
   .success(function (data, header, config, status) {
    console.log(data);
   })
   .error(function (response) {
    console.log(response);
   })
  ;
 }

 $scope.post = function () {
  $http.post("/post", $scope.user)
   .success(function (data, header, config, status) {
    console.log(data);
   })
   .error(function (data, header, config, status) {
    console.log(data);
   })
  ;
 }
});

以上这篇AngularJS发送异步Get/Post请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
几款极品的javascript压缩混淆工具
May 16 Javascript
js正文内容高亮效果的实现方法
Jun 30 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
Aug 05 Javascript
实例代码详解jquery.slides.js
Nov 16 Javascript
Bootstrap每天必学之模态框(Modal)插件
Apr 26 Javascript
js中数组的常用方法小结
Dec 30 Javascript
jquery实现图片轮播器
May 23 jQuery
JavaScript数据类型和变量_动力节点Java学院整理
Jun 26 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
js禁止Backspace键使浏览器后退的实现方法
Sep 01 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
Sep 08 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
Feb 08 Javascript
vue后台管理之动态加载路由的方法
Aug 13 #Javascript
jQuery中$原理实例分析
Aug 13 #jQuery
Angular服务Request异步请求的实例讲解
Aug 13 #Javascript
微信小程序中使用wxss加载图片并实现动画效果
Aug 13 #Javascript
深入浅析angular和vue还有jquery的区别
Aug 13 #jQuery
Angular异步变同步处理方法
Aug 13 #Javascript
利用JS实现一个同Excel表现的智能填充算法
Aug 13 #Javascript
You might like
php parse_str() 函数的定义和用法
2016/05/23 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
vue通过过滤器实现数据格式化
2020/07/20 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
Python FTP操作类代码分享
2014/05/13 Python
Linux下编译安装MySQL-Python教程
2015/02/02 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
利用python画一颗心的方法示例
2017/01/31 Python
python中id函数运行方式
2020/07/03 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
T3官网:头发造型工具
2019/12/26 全球购物
汽车驾驶求职信
2013/10/25 职场文书
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
导游个人求职信
2014/04/25 职场文书
酒店仓管员岗位职责
2014/04/28 职场文书
学生安全责任书范本
2014/07/24 职场文书
婚庆司仪开场白
2015/05/29 职场文书
金陵十三钗观后感
2015/06/04 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
Python中with上下文管理协议的作用及用法
2022/03/18 Python
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android