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 基础篇(一)
Mar 30 Javascript
js数组Array sort方法使用深入分析
Feb 21 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
Jun 08 Javascript
原生JS轮播图插件
Feb 09 Javascript
Vue仿手机qq的实例代码(demo)
Sep 08 Javascript
jqueryUI tab标签页代码分享
Oct 09 jQuery
vue中element 上传功能的实现思路
Jul 06 Javascript
小程序实现展开/收起的效果示例
Sep 22 Javascript
Vue 配合eiement动态路由,权限验证的方法
Sep 26 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
Mar 22 Javascript
js实现简易点击切换显示或隐藏
Nov 29 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
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
详解Vite的新体验
2021/02/22 Javascript
将Django项目部署到CentOs服务器中
2018/10/18 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
Python函数中不定长参数的写法
2019/02/13 Python
selenium 安装与chromedriver安装的方法步骤
2019/06/12 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
python对execl 处理操作代码
2020/06/22 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
实习销售业务员自我鉴定
2013/09/21 职场文书
日语专业毕业生自荐信
2013/11/11 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
团员年度个人总结
2015/02/26 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
Python一行代码实现自动发邮件功能
2021/05/30 Python