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 播放器 控制
Jan 22 Javascript
jquery trim() 功能源代码
Feb 14 Javascript
使用JS读秒使用示例
Sep 21 Javascript
Javasipt:操作radio标签详解
Dec 30 Javascript
jQuery事件绑定和委托实例
Nov 25 Javascript
jQuery中:visible选择器用法实例
Dec 30 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
js验证框架实现代码分享
May 18 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
Jul 12 Javascript
layui radio性别单选框赋值方法
Aug 15 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
js实现中文实时时钟
Jan 15 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的栏目导航程序
2006/10/09 PHP
用php来检测proxy
2006/10/09 PHP
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
PHP 处理图片的类实现代码
2009/10/23 PHP
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
jquery事件preventDefault()方法用法实例
2015/01/16 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
Python正则表达式常用函数总结
2017/06/24 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
租房协议书怎么写
2014/04/10 职场文书
《傅雷家书》教学反思
2014/04/20 职场文书
会计学自荐信
2014/06/03 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
政风行风评议整改方案
2014/09/15 职场文书
2015新年寄语大全
2014/12/08 职场文书
会计试用期自我评价
2015/03/10 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android
关于nginx 实现jira反向代理的问题
2021/09/25 Servers