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 29 Javascript
IE DOM实现存在的部分问题及解决方法
Jul 25 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
Jul 31 Javascript
遍历jquery对象的代码分享
Nov 02 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 Javascript
JavaScript模块化开发之SeaJS
Dec 13 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
Sep 12 Javascript
数组Array的排序sort方法
Feb 17 Javascript
Node.Js生成比特币地址代码解析
Apr 21 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 Javascript
深入浅出了解Node.js Streams
May 27 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
第十三节 对象串行化 [13]
2006/10/09 PHP
Content-type 的说明
2006/10/09 PHP
无数据库的详细域名查询程序PHP版(4)
2006/10/09 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
python unichr函数知识点总结
2020/12/16 Python
CSS3中新增的对文本和字体的设置
2020/02/03 HTML / CSS
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
高三高考决心书
2014/03/11 职场文书
合作经营协议书范本
2014/04/17 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
结婚当天新郎保证书
2015/05/08 职场文书
六一活动主持词
2015/06/30 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL