一、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. 在js中,ajax放在for中,ajax获取得到的变量有误

    先看代码 for(var i=0;i<tds.length;i++){ mui.ajax(url+'api/client/gifts/isSigned', {data :{ sqId:" ...

  5. 使用ionic中的侧边栏以及angularjs中广播的使用

    接着之前的ionic的例子 查看例子:我的第一段ionic代码 demo3.html(黄底内容为增加或修改的内容) <!DOCTYPE html> <html ng-app=&quo ...

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

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

  7. django中的ajax组件

    目录 django中的ajax 向服务器发送请求的途径 Ajax的特点 基于jquery实现的ajax请求 利用ajax实现计算器 利用ajax实现登陆认证 利用form表单进行文件上传 利用ajax ...

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

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

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

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

随机推荐

  1. 【shell编程基础0】bash shell编程的基本配置

    前面一篇“shell编程之变量篇”主要讲述下shell编程的变量的基本知识:设置变量的方式,自定义变量和环境变量的差别,变量的替换.删除.测试等. 这一篇主要是讲述在bash shell下的一些基本配 ...

  2. AngularJS学习笔记2

    3.AngularJS 表达式 AngularJS 表达式写在双大括号内:{{ expression }}.AngularJS 表达式把数据绑定到 HTML,这与 ng-bind 指令有异曲同工之妙. ...

  3. Lambda表达式随笔

    1.Lambda表达式是一个匿名函数,其本质其实还是一个函数,因此任何一个Lambda表达式都可以以其它的方式通过普通的函数实现或者代替. 2.Lambda表达式云算符:=>,该运算符读为&qu ...

  4. 简谈-Python一些常用的爬虫技巧

    第一种:基本的网页抓取 get方法 import urllib2url = "链接response = urllib2.urlopen(url)print response.read() p ...

  5. 【原创】bootstrap框架的学习 第七课 -[bootstrap表格]

    Bootstrap 表格 标签 描述 <table> 为表格添加基础样式. <thead> 表格标题行的容器元素(<tr>),用来标识表格列. <tbody& ...

  6. Excception and Error

    exception and error都是继承throwable类; Exception就是程序中出现的异常,程序会去捕获: 但是error是比较严重的错误,程序是不会去捕获的: erroe:一般都是 ...

  7. [Git]04 如何使用标签

     Git也可以对某一时间点上的版本打上标签.人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做. 本节我们一起来学习如何如何新建标签,列出所有可用的标签,以及各种不同类型标签之间的差 ...

  8. AspNetCore-MVC实战系列(三)之个人中心

    AspNetCore - MVC实战系列目录 . 爱留图网站诞生 . git源码:https://github.com/shenniubuxing3/LovePicture.Web . AspNetC ...

  9. Eclipse 如何添加Window Builder插件?

    http://www.eclipse.org/windowbuilder/download.php 找到对应版本的window builder 如果不知道版本的话,可以在你的Eclipse-help- ...

  10. 使用Spire.Doc组件利用模板导出Word文档

    以前一直是用Office的组件实现Word文档导出,但是让客户在服务器安装Office,涉及到版权:而且Office安装,包括权限配置也是比较麻烦. 现在流行使用第三方组件来实现对Office的操作, ...