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 相关文章推荐
一个简单的js鼠标划过切换效果
Jun 30 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
Mar 12 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
Sep 14 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
Sep 16 Javascript
基于Jquery实现焦点图淡出淡入效果
Nov 30 Javascript
理解Javascript的call、apply
Dec 16 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
Mar 07 Javascript
JS获取当前地理位置的方法
Oct 25 Javascript
vue axios登录请求拦截器
Apr 02 Javascript
在小程序中使用canvas的方法示例
Sep 17 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
Jul 25 jQuery
Vue使用预渲染代替SSR的方法
Jul 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开发工具有哪五款
2015/11/09 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
js不是基础的基础
2006/12/24 Javascript
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
JavaScript学习教程之cookie与webstorage
2019/06/23 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
python数组复制拷贝的实现方法
2015/06/09 Python
python编写分类决策树的代码
2017/12/21 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
活动总结范文
2014/08/30 职场文书
法人授权委托书
2014/09/16 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
企业百日安全活动总结
2015/05/07 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android