【码在江湖】前端少侠的json故事(中)ng的json
ng的json

正所谓“人在江湖,身不由己”,在开发之路上前端少侠dk遇到过种种困难,尤其在与后端进行数据对接的时候,不得不逼迫自己以极快的速度去学习和掌握一些奇招怪式,正当他以为就凭一个原生的ajax请求便能对所有数据对接问题迎刃而解之际,更大的问题来了……
这时候,樟哥再一次语重心长地说道:小伙,去找本ng秘笈看看吧,学会$http神功便能配合我进行数据大挪移!
如果我没听错,ng秘笈、$http这特么又是什么鬼新名词啊!
于是,我再一次接受樟哥的建议,在菜鸟教程上打听到了ng秘笈。
经过两天两夜的苦心钻研,我把整本ng秘笈粗略的翻了一遍,对ng神功有了大概的了解:这特么就是把js降龙十八掌十八式合成一掌一式一招致命嘛,练不好的话很容易走火入魔滴啊!
好了,该说点正经事了,什么是ng神功呢?就是angular js,代码江湖里人称ng,$http是ng对ajax封装好的一个服务,用这一项服务可以省下很多用原生js进行ajax请求的代码。
之前我们要自己构造一个请求方法、自行判断请求的状态是否200、自行open()和send(),加入请求的地址……
在ng里,只要一个在$http服务里调用一个get()/post()方法,写入请求的地址,写好success()和error()的方法,这就完成了一个ajax的请求。
下面是一则示例代码
$scope.doRefresh = function() {
$http.get("localhost:8080/dkplus",{
params:{
'tag' : 0,
'id' : 1
}
})
.success(function(data, status, header, config) {
$scope.items = data.data;
})
.error(function(data, status, header, config){
console.log('json解析错误');
})
};
这是我比较熟悉的一种写法,他还有另一种形式,功能一样,我就不多做展示了。
第一句get()里面填入请求的地址,如果请求的同时要带上参数,那就带上params,如果不需要带参数,那就只写$http.get("localhost:8080/dkplus")就够了。
第二句success()是用于请求成功的情况下的,是否成功可以在请求的时候按下f12,查看network一项,看状态是否200或者response里有没有返回json数据。
一般情况下是可以的,如果说存在跨域请求问题,这时候要用到jsonp()的方法进行请求,我们以后会讨论这个问题。
function()里面的data就是++请求回来的数据++,$scope.items = data.data;里第一个data是++接收回来的数据++,第二个data其实是我请求的json里的++一个对象名++。
第三句error()就是用于错误情况的调用,在控制台中显示错误方法被调用了,方便调试程序。
经过两天不眠不休,我自认为自己已经修炼神功,激动不已,于是飞鸽传书给樟哥:
樟哥:
小弟苦心修炼ng神功,而今掌握$http大法,数据大挪移,之日可待!
于是,我们第二天就进行了数据对接,结果就gg了,*“在我电脑上本地测试是可以的啊~%>_<%~”*。
至于是什么问题让这次ng的get()方法数据对接无疾而终呢?预知后事如何,请听下回分解。
微信公众号dkplus,由前端少侠dk搭建的分享平台,主攻web前端,但也游离于设计,乐于分享他的代码故事、ps技巧和ppt技巧。码在江湖,身不由己,珍爱生命,简约设计,我是前端,也是设计。博客园:http://www.cnblogs.com/dkplus/
【码在江湖】前端少侠的json故事(中)ng的json的更多相关文章
- 前端少侠的ps故事
前端少侠的ps故事 正所谓,码在江湖,身不由己.自21世纪前后端分离,代码分工细化以来,前端与设计的合作也变得越来越重要.有人说,如果前端懂设计的话,工作会更快一点.倘若说我入前端半年能算半个前端少侠 ...
- Json.Net 中Linq to JSON的操作
Linq to JSON是用来操作JSON对象的.可以用于快速查询,修改和创建JSON对象.当JSON对象内容比较复杂,而我们仅仅需要其中的一小部分数据时,可以考虑使用Linq to JSON来读取和 ...
- 关于json解析中 解析多重json对象
JSONObject rst = {"AIS-RST":"AIS-00000001","AIS-STATUS":"AIS-0000 ...
- 【码在江湖】前端少侠的json故事(下):jsonp的应用
jsonp的应用 话说天下大势,分久必合,合久必分,代码江湖自进入21世纪以来,前后端分离成为了大势所趋,代码分工更为精细,更为深入,而正所谓码在江湖,身不由己,为了更好的实现需求,程序猿们必须不断学 ...
- 【码在江湖】前端少侠的json故事(上)日月第一击
日月第一击 这是我前端生涯第一次和后台对接,其经历真是苦不堪言,多次绝处逢生,柳暗花明,可就是迟迟见不到那条村子.当然,最后我还是完成了这次对接.下面来聊一聊我这白痴一般的经历. 序章 话说天下大势, ...
- HTTP状态码302、303和307的故事
今日读书,无法理解HTTP302.303.307状态码的来龙去脉,决定对其做深究并总结于本文. <HTTP权威指南>第3章在讲解30X状态码时,完全没有讲清楚为什么要有 ...
- C#无限分级实现,前端WEB页面接收,后台提供层级Json数据
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...
- JS前端取得并解析后台服务器返回的JSON数据的方法
摘要:主要介绍:使用eval函数解析JSON数据:$.getJSON()方法获得服务器返回的JSON数据 JavaScript eval() 函数 eval(string) 函数可计算某个字符串,并执 ...
- Java中net.sf.json包关于JSON与对象互转的问题
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...
随机推荐
- JavaScript权威设计--JavaScript词法结构(简要学习笔记二)
1.字符集 JavaScript是用Unicode字符集编写的 2.区分大小写 html不区分大小写,xhtml区分大小写 如:html中onclick可以写成Onclick 但是js中必须写成onc ...
- h5engine造轮子
基于学习的造轮子,这是一个最简单,最基础的一个canvas渲染引擎,通过这个引擎架构,可以很快的学习canvas渲染模式! 地址:https://github.com/RichLiu1023/h5en ...
- 读书笔记--SQL必知必会13--创建高级联结
13.1 使用表别名 SQL可以对列名.计算字段和表名起别名. 缩短SQL语句 允许在一条SELECT语句中多次使用相同的表. 注意:表别名只在查询执行中使用,不返回到客户端. MariaDB [sq ...
- 学习SpringMVC——拦截器
拦截器,顾名思义就是用来拦截的. 那什么是拦截,又为什么要拦截.对于Spring MVC来说,拦截器主要的工作对象就是用户的请求,拦截下来之后,我们可以在拦截的各个阶段悉心呵护[为所欲为].常见的比如 ...
- 介介介是一个ORM
介个是一个ORM,介个ORM基于Dapper扩展. 为什么需要一个ORM呢? 支持简单的LINQ查询 但是不能连表查询,why?why?why?为什么不能连接查询 ^.^ ok.但是就是不支持.哈哈哈 ...
- angularjs和ajax的结合使用 (二)
今天我们来继续丰富上次的例子.我们来搞些 稍微复杂点的应用. 首先我们来加一个全选 的功能. 上一篇的例子里我们看到 分页时载入的是我们通过linq 查询自定义列 然后构建的匿名类 .使用这种EF框架 ...
- Kafka0.8.2.1删除topic逻辑
前提条件: 在启动broker时候开启删除topic的开关,即在server.properties中添加: delete.topic.enable=true 命令: bin/kafka-topics ...
- JDBC_part1_Oracle数据库连接JDBC以及查询语句
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! JDBC part1 JDBC概述 jdbc是一种用于 ...
- FastDFS 安装及使用
FastDFS 安装及使用 2012-11-17 13:10:31| 分类: Linux|举报|字号 订阅 Google了一下,流行的开源分布式文件系统有很多,介绍如下: mogileF ...
- WCF入门教程2——创建第一个WCF程序
本节目标 掌握接口 理解契约式编程 创建宿主程序 创建客户端程序访问服务 什么是接口 认识一下接口 必须知道的接口特性 接口不可以被实例化(常作为类型使用) 实现类必须实现接口的所有方法(抽象类除外) ...