索鸟网

  1. 首页
  2. 关于angularJs中使用$.ajax的注意点

关于angularJs中使用$.ajax的注意点


从技术上来讲,angular 与 jquery混用,是一件不太合适的,但是为什么这个话题争论至今依旧仁者见仁智者见智,
除了便捷度,还有可能就是jquery有些地方确实比angular要全面些,就比如说ajax跨域方面。

我本人平时用angular开发的时候,基本上就只是用angular,即便有angular.element 这个方法也是尽量少使用,我建议大家如果使用框架,尽量就使用一种,因为这些都是封装的方法,难免会有冲突。真出了bug会比较棘手。

直奔主题:
ajax跨域或者参数类型(dataType)需要设定的时候,$http会显得很尴尬,那么这时候我想到了使用$.ajax;
本来$.ajax写起来倒是不比$http墨迹,但是写完就发现问题来了,view层对$.ajax处理完的对象完全不予理睬。

angular的特色是双向绑定,复杂点说,有一个脏值检测系统,主要包括:$watch 和 $digest;
触发$digest里面有一个玩意叫$apply,$apply 被认为是 使AngularJs与第三方库混合使用最标准的方式。

$.ajax({
    data:{},
    url:'',
    type/method:'',
    dataType:'',
    success:
        function(){
        $scope.$appy();
        }
   }
)

处理完成之后加一个$scope.$apply()即可,这个方法还适用于setTimeout,setInterval等...
但是我依旧建议在能不使用第三方库的时候就不要使用。

javascript

来源地址:https://segmentfault.com/a/1190000010617466 版权归作者所有!

相关教程

  • javascript中的一些注意点

    多行注释的陷阱 由于正则表达式字面量的存在,多行注释可能会产生陷阱,例如以下程序将跑出错误: /* var a = /h*/.test("hello"); */ 正则结束前的那个星号将被解析为注释结束,从而.被认为是不合法的.所以尽量避免使用单行注释 数字类型 javascript中的数字是Number类型,在内部表示为64位的浮点数,也就意味着2===2.0,
  • Java日志框架使用注意点

    一、应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger =
  • WPF 中Command绑定及InvalidateRequerySuggested使用注意点

    在WPF开发中,按钮的点击和不可点击常用命令绑定来自动完成。例如下面的示例: xmal代码: 后台窗体Load 事件中绑定命令代码: bool isUndo=true; CommandBinding cmdBinding = new CommandBinding(ApplicationCommands.Undo,
  • PHP中AJAX的使用

    有一段时间不写关于AJAX的东西了,最近和同学参加个比赛,要做一个类似博客的东西,用到了AJAX的东西,在写东西之前为了再熟悉一下AJAX,自己做了个关于AJAX的小事例与大家分享一下。   AJAX在js里可谓是一个牛气冲天的一个词,我刚学的时候有点望名生畏。对于初学者来说AJAX看似很难,图书馆里有些关于AJAX的教程比板砖都
  • 虚拟化环境中的DHCP Snooping部署注意点

    掉坑凌晨2点接到客户电话,说是生产停线,所有的设备断网。当时就懵逼,因为刚刚在客户环境中有操作,但是完全不涉及到网络,只是关于虚拟化环境的。现在发现客户端设备都拿不到IP地址,判断可能是DHCP服务器(一台虚拟机)问题,但是DHCP服务器可登陆,服务运行也正常,地址池地址剩余很多。于是判断问题出在网络,要不就是核心交换机没有把DHCP请求转发到DHCP服务器。开始联络网络工程师查
  • sass 语法总结和注意点

    一.sass 在线编译工具 http://sassmeister.com/ 本地编译工具:Koala以及如何调试参考: http://www.w3cplus.com/sassguide/ 二.sass 基本语法 以下在sass 3.2.0版本中都是适用额 1. 变量的声明: 直接声明变量,默认变量,特殊用途变量 (1)一般我们定义的变量($定义)都为【属性值
  • Vue-Cli 异步加载数据的一些注意点

    刚开始学vue的时候没有使用脚手架,现在用脚手架写法有点不同,今天遇到的问题是使用豆瓣api异步加载数据的时候,会一直在命令行上报错,基本上错误都是xxx 未定义。 例子 <template> <div v-if="moviesData"> <!-- 正在上映的电影-北京 --> <h1>