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 相关文章推荐
基于JQuery实现异步刷新的代码(转载)
Mar 29 Javascript
js操作table示例(个人心得)
Nov 29 Javascript
js实现a标签超链接提交form表单的方法
Jun 24 Javascript
Node.js巧妙实现Web应用代码热更新
Oct 22 Javascript
Angularjs 制作购物车功能实例代码
Sep 14 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 Javascript
ES6中Math对象新增的方法实例详解
Apr 25 Javascript
JS点击缩略图整屏居中放大图片效果
Jul 04 Javascript
详解Vue2 SSR 缓存 Api 数据
Nov 20 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
Feb 18 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 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获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
14个有用的Jquery技巧分享
2015/01/08 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
Python脚本暴力破解栅栏密码
2015/10/19 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
python多线程之事件Event的使用详解
2018/04/27 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
日期和时间问题
2015/01/04 面试题
面试后感谢信怎么写
2014/02/01 职场文书
生日寄语大全
2014/04/08 职场文书
运动会标语
2014/06/21 职场文书
2019幼儿园感恩节活动策划书
2019/11/28 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python
nginx设置资源请求目录的方式详解
2022/05/30 Servers