一、JQuery与AngularJS

首先,先简单的了解一下JQuery与AngularJS。从源头上来说,两者都属于原生JS所封装成的库,两种为平行关系。

二、Ajax请求与数据遍历打印

这里是Ajax和$http请求的JSON文件概览,默认的路径我们就放在与两者同级的文件夹里。

[
    {
        "name": "一号",
        "age": 17,
        "hobby": [
            "吃",
            "喝"
        ],
        "score":{
            "math":78,
            "chinese":89
        }
    },
    {
        "name": "二号",
        "age": 17,
        "hobby": [
            "喝",
            "玩"
        ],
        "score":{
            "math":78,
            "chinese":89
        }
    },
    {
        "name": "三号",
        "age": 17,
        "hobby": [
            "玩",
            "乐"
        ],
        "score":{
            "math":78,
            "chinese":89
        }
    },
    {
        "name": "四号",
        "age": 17,
        "hobby": [
            "吃",
            "喝",
            "玩",
            "乐"
        ],
        "score":{
            "math":78,
            "chinese":89
        }
    }
]

下面是Ajax请求获取JSON文件的代码。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Ajax</title>

        <script language="JavaScript" src="js/jquery-1.10.2.js"></script>

        <script type="text/javascript">

            $(function(){

                $("button").click(function(){

                    $.ajax({
                        type:"post",
                        url:"http://localhost:8080/JSON/h51701.json",
                        dataType:"JSON",
                        success:function(data){
                            console.log(data)
                        }
                    });

            })

        </script>

    </head>
    <body>

        <button>点击请求JSON文件</button>

        <div></div>

    </body>
</html>

如果想要直接遍历取出JSON文件中的各种值,则可以通过post和get,一般我们所用的是post,使用时,只需要吧$ajax这一部分换成以下代码。

$.post("http://localhost:8080/JSON/h51701.json",{},function(data){

                        for(var i = 0 ; i < data.length ; i++){
                            $("div").append("姓名:"+data[i].name+"<br />");
                            $("div").append("年龄:"+data[i].age+"<br />");
                            $("div").append("数学成绩:"+data[i].score.math+"<br />");
                            $("div").append("语文成绩:"+data[i].score.chinese+"<br />");
                            $("div").append("爱好:"+data[i].hobby.toString()+"<br /><br />");
                        }

                        },"json")

在这里,我们一般是采用循环遍历的方法一一取出。

三、$http请求与数据的提取

相较而言,$http的方法更简单粗暴,代码如下。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>$http</title>
    </head>

    <body ng-app="app" ng-controller="ctrl">

        <pre>{{data}}</pre>

        <table>
            <thead>
                <tr>
                    <th>姓名</th>
                    <th>年龄</th>
                    <th>喜好</th>
                    <th>数学成绩</th>
                    <th>语文成绩</th>
                    <th>总分</th>
                </tr>
            </thead>
            <tr ng-repeat="item in data | orderBy:'score.chinese'">
                <td ng-bind="item.name"></td>
                <td ng-bind="item.age"></td>
                <td ng-bind="item.hobby"></td>
                <td ng-bind="item.score.chinese"></td>
                <td ng-bind="item.score.math"></td>
                <td ng-bind="item.score.chinese + item.score.math"></td>
            </tr>
        </table>

    </body>

    <script src="libs/angular.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
        angular.module("app", [])
        .controller("ctrl", function($scope,$http) {
            //方法一
            $http({
                method: 'POST',
                url: 'h51701.json'
            }).then(function successCallback(response) {
                    // 请求成功执行代码
                    $scope.res = response;
                }, function errorCallback(response) {
                    // 请求失败执行代码
                    alert("服务请求失败")
            });
            //方法二
            $http.get("h51701.json").then(function successFunction(a){
                $scope.res = a;
            })
            //方法三
            $http.post("h51701.json",{/*传递的参数对象*/}).then(function successFunction(a){
                $scope.data = a.data;//从返回的信息中取出需要的数据,为JSON对象(数组)
            })

        })

    </script>

</html>

在请求方面,三种方法大致与ajax相同,但是在每一数据的提取方面,AngularJS所提供的ng-repeat提供了非常大的便利。

综上,两者相比较,还是AngularJS提取更方便。但是从现如今的更新上讲,JQuery中的ajax更加稳定。

两强相争,鹿死谁手 — JQuery中的Ajax与AngularJS中的$http的更多相关文章

  1. jQuery AutoComplete在AJAX UpdatePanel环境中PostBack之后无法工作

    前些日子,Insus.NET有实现<ASP.NET MVC使用jQuery实现Autocomplete>http://www.cnblogs.com/insus/p/5638895.htm ...

  2. 从jquery里的$.ajax()到angularjs的$http

    jquery中对ajax的使用做了很多封装,使得我们使用习惯了,反而并不大清楚在请求过程中的一些细节. 在第一次使用angularjs的$http时,后台一直接受不到前端请求的数据,于是小小研究了一下 ...

  3. 一个方法中的ajax在success中renturn一个值,但是方法的返回值是undefind?

    https://segmentfault.com/q/1010000003762379 A页面 console.log(handleData("search_list", &quo ...

  4. AngularJS学习--- AngularJS中XHR(AJAX)和依赖注入(DI) step5

    前言:本文接前一篇文章,主要介绍什么是XHR,AJAX,DI,angularjs中如何使用XHR和DI. 1.切换工具目录 git checkout -f step- #切换分支 npm start ...

  5. Angularjs 中使用指令绑定点击事件

    项目中,模板中的菜单是jQuery控制的,在Angularjs中就运行不到了,因为菜单项是ng-repeat之后的. 如html <ul id="main-menu"> ...

  6. 转: 理解AngularJS中的依赖注入

    理解AngularJS中的依赖注入 AngularJS中的依赖注入非常的有用,它同时也是我们能够轻松对组件进行测试的关键所在.在本文中我们将会解释AngularJS依赖注入系统是如何运行的. Prov ...

  7. 理解AngularJS中的依赖注入

    点击查看AngularJS系列目录 理解AngularJS中的依赖注入 AngularJS中的依赖注入非常的有用,它同时也是我们能够轻松对组件进行测试的关键所在.在本文中我们将会解释AngularJS ...

  8. Jquery中的Ajax

    AJAX: * jQuery中的Ajax * 封装第一层 - 类似于原生Ajax的用法 * $.ajax() - 最复杂 * 选项 * url - 请求地址 * type - 请求类型,默认为GET ...

  9. jQuery入门(4)jQuery中的Ajax应用

    jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...

随机推荐

  1. RECONFIGURE语句会清空计划缓存么?

    几个星期前,有个网友问我一个非常有趣的问题:RECONFIGURE语句会清空计划缓存么?通常我对这个问题的答案是简单的是,但慢慢的我找出了真正的答案是“看情况啦”.我们来看下它,为什么“它看情况”. ...

  2. Python安装包或模块的多种方式汇总

    windows下安装python第三方包.模块汇总如下(部分方式同样适用于其他平台): 1. windows下最常见的*.exe,*msi文件,直接运行安装即可: 2. 安装easy_install, ...

  3. Guava学习笔记(2):Preconditions优雅的检验参数

    转自:http://www.cnblogs.com/peida/p/Guava_Preconditions.html 在日常开发中,我们经常会对方法的输入参数做一些数据格式上的验证,以便保证方法能够按 ...

  4. 【转发】NPAPI开发详解,Windows版

    NPAPI开发详解,Windows版 9 jiaofeng601, +479 9人支持,来自Meteor.猪爪.hanyuxinting更多 .是非黑白 .Yuan Xulei.hyolin.Andy ...

  5. 使用Fiddler对Android或者iOS设备进行抓包

    1.PC端Fiddler配置 Tools->HTTPS->选中“Decrpt HTTPS traffic”,“Ignore server certificate errors” Tools ...

  6. Makefile总述②文件命名、包含其他文件makefile、变量、重建重载、解析

    Makefile的内容 在一个完整的 Makefile 中,包含了 5 个东西:显式规则.隐含规则.变量定义.指示符和注释. 显式规则:它描述了在何种情况下如何更新一个或者多个被称为目标的文件( Ma ...

  7. JS:原型

      function Box(){ } //使用字面量的方式创建原型对象,这里{}就是对象,是Object, new Object相当于{} Box.prototype = { name:" ...

  8. Android中Parcelable接口用法

    from: http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html Interface for classes wh ...

  9. 【系统】CentOS、Ubuntu、Debian三个linux比较异同

    CentOS.Ubuntu.Debian三个linux比较异同 2014-07-31 12:58             53428人阅读             评论(6)             ...

  10. sqlalchemy - day4

    query 此文算是自己的一个总结,不敢说对sqlalchemy有多精通,只能算是入门的总结,免得后面忘记了这些个基本的东西.数据库的增,删,改,查,前面已经介绍了session的增,删,改,现在来介 ...