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 30 Javascript
关于 byval 与 byref 的区别分析总结
Oct 08 Javascript
Firefox window.close()的使用注意事项
Apr 11 Javascript
JavaScript中的this关键字使用方法总结
Mar 13 Javascript
javascript 中的事件委托详解
Oct 25 Javascript
Bootstrap缩略图的创建方法
Mar 22 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
Jun 26 jQuery
JavaScript方法_动力节点Java学院整理
Jun 28 Javascript
javascript ES6 新增了let命令使用介绍
Jul 07 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
Aug 25 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
Aug 28 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
Sep 02 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实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
使用php测试硬盘写入速度示例
2014/01/27 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
jQuery+PHP实现图片上传并提交功能
2020/07/27 PHP
jquery text()要注意啦
2009/10/30 Javascript
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
深入理解js promise chain
2016/05/05 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
详解flask表单提交的两种方式
2018/07/21 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
教师四风对照检查材料思想汇报
2014/09/17 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
五好家庭事迹材料
2014/12/20 职场文书
导师工作推荐信
2015/03/27 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书