返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何解决AngularJS中$http的交互问题
  • 867
分享到

如何解决AngularJS中$http的交互问题

2024-04-02 19:04:59 867人浏览 独家记忆
摘要

这篇文章主要为大家展示了“如何解决angularjs中$Http的交互问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决AngularJS中$http的

这篇文章主要为大家展示了“如何解决angularjs中$Http的交互问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决AngularJS中$http的交互问题”这篇文章吧。

这篇文章,主要是通过我们熟悉的JqueryajaxJSONp的类型方式,总结一下$http的使用。

$http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。

1. angular中的ajax

写法一:

$http({
  method: 'GET', //可以改成POST
  url: '/someUrl'
}).then(function successCallback(response) {
    // 请求成功执行代码
  }, function errorCallback(response) {
    // 请求失败执行代码
});

示例:

var app = angular.module('myApp', []);  
app.controller('siteCtrl', function($scope, $http) {
  $http({
    method: 'GET',
    url: 'https://www.runoob.com/try/angularjs/data/sites.PHP',

  }).then(function successCallback(response) {
      console.log(response.data);
    }, function errorCallback(response) {
      console.log('失败');
  });
});

写法二:

①GET请求

$http.get('/someUrl',config).then(successCallback, errorCallback); 
$http.get('/someUrl',{params:{}}).then(successCallback, errorCallback);

示例:

$http.get({
  'http://10.30.24.12/emp-management/empDetail',
  {params:{"id":3}}
}).then(function successCallback(response) {
    console.log(response.data.name);
  }, function errorCallback(response) {
    console.log('失败');
});

②POST请求

$http.post('/someUrl', data, config).then(successCallback, errorCallback);

示例:

$http({ 
  method:'post', 
  url:'post.php', 
  data:{name:"aaa",id:"1",age:"20"} 
}).then(function successCallback(response) {
    console.log(response);
  }, function errorCallback(response) {
    console.log('失败');
});

//但是,这时候你可能收不到返回的数据,结果为null,这是因为要转换成fORM data。 
//解决方案(在post中进行相应配置):
$http({ 
  method:'post', 
  url:'post.php', 
  data:{name:"aaa",id:"1",age:"20"}, 
  headers:{'Content-Type': 'application/x-www-form-urlencoded'}, 
  transformRequest: function(obj) { 
   var str = []; 
   for(var p in obj){ 
    str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); 
   } 
   return str.join("&"); 
  } 
}).then(function successCallback(response) {
    console.log(response);
  }, function errorCallback(response) {
    console.log('失败');
});

2.angular中的jsonp

$http({method:'JSONP',url:''}).success().error();
$http.jsonp('/someUrl').success().error();

//这里要注意,跨域请求的url后一定要追加参数callback,并且callback的值是固定的,即JSON_CALLBACK,尽量不要去做任何改动

示例:

$http({ 
  method: 'JSONP', 
  url: 'http://www.b.com/test.php?callback=JSON_CALLBACK' 
}).success(function(response){ 
  console.log(response); 
}); 

$http.jsonp(
  'http://www.b.com/test.php?callback=JSON_CALLBACK'
).success(function (response){ 
  console.log(response); 
});

3.最后,总结一下注意事项:

(1)代码里使用的.then()也可以写成.success().error(),但是v1.5中 $http 的 success 和 error 方法已废弃,使用 then 方法替代;

(2)关于参数:用GET的时候就是params,用POST/PUT/PATCH/DELETE就是data;

(3)$http.jsonp跨域请求的url后一定要追加参数callback,并且callback的值是固定的,即JSON_CALLBACK,尽量不要去做任何改动。

以上是“如何解决AngularJS中$http的交互问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: 如何解决AngularJS中$http的交互问题

本文链接: https://lsjlt.com/news/76403.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何解决AngularJS中$http的交互问题
    这篇文章主要为大家展示了“如何解决AngularJS中$http的交互问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决AngularJS中$http的...
    99+
    2024-04-02
  • AngularJs如何解决用户登录的问题
    小编给大家分享一下AngularJs如何解决用户登录的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下1. 静态页面搭...
    99+
    2024-04-02
  • 如何解决php与数据库交互式乱码问题
    这篇文章将为大家详细讲解有关如何解决php与数据库交互式乱码问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php与数据库交互式乱码的解决办法:1、把mysql字符编码改为utf8_general_ci...
    99+
    2023-06-22
  • 如何解决AngularJs中select绑定数字类型的问题
    这篇文章将为大家详细讲解有关如何解决AngularJs中select绑定数字类型的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、AngularJs中select绑...
    99+
    2024-04-02
  • 如何解决AngularJS中ng-repeat不更新视图的问题
    这篇文章主要介绍如何解决AngularJS中ng-repeat不更新视图的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在写AngularJS项目中,遇到一个问题,先对数组进行赋...
    99+
    2024-04-02
  • angularJS如何实现自定义指令间的相互交互
    小编给大家分享一下angularJS如何实现自定义指令间的相互交互,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!AngularJ...
    99+
    2024-04-02
  • WebGL与网页交互问题怎么解决
    今天小编给大家分享一下WebGL与网页交互问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。(一)首先说Unity调...
    99+
    2023-06-30
  • ​如何解决OpenStack云的互联问题
    如何解决OpenStack云的互联问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。摘要:用Neutron API建立Open...
    99+
    2024-04-02
  • Unity2021发布WebGL与网页交互问题的解决
    目录(一)首先说Unity调用页面方法的办法。(二)其次说说页面方法调用Unity内方法的办法。(一)首先说Unity调用页面方法的办法。 首先是需要在工程的Asset目录里面建一个...
    99+
    2024-04-02
  • 如何解决angularjs service中依赖注入$scope报错的问题
    小编给大家分享一下如何解决angularjs service中依赖注入$scope报错的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!控制台错误提示ionic.bundle.js:26...
    99+
    2024-04-02
  • 如何解决angularjs中路由页面强制更新的问题
    这篇文章给大家分享的是有关如何解决angularjs中路由页面强制更新的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有这么一个问题,在页面内路由页面跳转时,第一次跳入路由页...
    99+
    2024-04-02
  • AngularJS如何解决报$apply already in progress错误的问题
    这篇文章主要介绍了AngularJS如何解决报$apply already in progress错误的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家...
    99+
    2024-04-02
  • 如何解决进不去http://localhost的问题
    这篇文章主要讲解了“如何解决进不去http://localhost的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决进不去http://localhost的问题”吧!问题解决:&n...
    99+
    2023-06-09
  • 如何解决Python相互导入的问题
    本篇文章为大家展示了如何解决Python相互导入的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。问题描述两个文件间相互导入时产生了一系列错误,比如 ImportError, NameError ...
    99+
    2023-06-26
  • 前端开发中如何使用”有限状态机“解决复杂的交互问题
    这篇文章将为大家详细讲解有关前端开发中如何使用”有限状态机“解决复杂的交互问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前端开发是有逻辑的,这点毋庸置疑...
    99+
    2024-04-02
  • 云服务器交互失败怎么解决问题
    1、首先检查网络连接是否正常,确保连接是可靠的; 2、尝试使用其他网络IP,确保服务器和其他网络之间的网络环境没有冲突; 3、确保服务器已经开启远程登录,并且没有被关闭; 4、检查云服务器是否处于开启状态,并且已正确配置; 5、尝试使用s...
    99+
    2023-10-27
    解决问题 服务器
  • git提交冲突问题如何解决
    解决 Git 提交冲突问题一般有以下几个步骤: 确定冲突的文件:在使用 Git 进行提交时,可能会出现冲突的文件。使用 `git...
    99+
    2023-10-26
    git
  • 互联网中如何解决网站被挂马的问题
    这篇文章主要介绍了互联网中如何解决网站被挂马的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  网站服务器和空间被入侵,让人都很纠结这种事情,自己辛辛苦苦的运行半年的网站...
    99+
    2023-06-10
  • 如何解决angularjs跨页面传参遇到的一些问题
    小编给大家分享一下如何解决angularjs跨页面传参遇到的一些问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在app.js下添加 params:{'args':{}}...
    99+
    2024-04-02
  • 关于SpringBoot与Vue交互跨域问题解决方案
    目录浏览器同源策略一、VUE前端配置代理解决跨域(1)Vue中让浏览器请求携带cookie(2)vue中配置代理解决跨域第一步,设置统一访问路径第二步、配置跨域代理第三步、测试请求二...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作