前端学习笔记--Ajax

[转]来自于慕课网学习整理。

一、Ajax:

Ajax:异步的数据交换三步骤:

1).运用html和css实现页面,表达信息

2).运用XMLHttpRequestsWEB服务器进行数据的异步交换

3).运用javascript操作DOM实现局部刷新

22085921_tVCR.jpg

22085921_7IMH.jpg

1、XMLHttpRequest发送请求:

两个方法 open(method,url,async)

method:规定HTTP发送请求的方式是get还是post,不区分大小写,一般来说用大写

url:请求地址(相对地址或绝对地址)

async;规定同步或者是异步。默认是异步也就是true,可一不填写

send(string):发送到该服务器(在post参数下一般需要填写)

 

22085921_NsSa.jpg22085921_IUH1.jpg22085921_6wEV.jpg

22085921_UgRS.jpg

2、XMLHttpRequest取得响应

22085921_3OKT.jpg

22085921_mWaB.jpg

22085921_lmOE.jpg

22085921_AGyf.jpg

3、Ajax请求和处理的下例子

Get请求,把一些参数传到url中。

22085921_acWH.jpg

POST请求,把参数直接传到Send里,一定要填request.setRequestHeader

22085922_dv3W.jpg

当返回的请求状态不成功,reuest.status!=200时,如何依据返回报文进行处理?

利用JSon的格式。

二、JSon

  • JSON:JavaScript对象表示法(JavaScript Object Notation)
  • JSON是存储和交换文本信息的语法,类似XML。它采用键值对的方式来组织,易于人们阅读和编写,同时也易于机器解析和生成
  • JSON是独立于语言的,也就是说不管什么语言,都可以解析json,按照json的规则来就行。

JSON与XML比较

  • json的长度和xml格式比起来短小
  • json读写的速度更快
  • json可以使用JavaScript内建的方法直接进行解析,转换成Javascript对象,非常方便。

22085922_FrUT.jpg

例子:

{

      "staff":[

          {"name":"洪七",“age”:70},

           {"name":"郭靖",“age”:35}

     ]

}

22085922_wkpG.jpg

在js中解析JSON

JSONLint——校验工具,校验json(JavaScript object notation)

格式是否错误 地址:jsonlint.com

SON解析的两种方法:

1.eval('('+jsondata+')'),eval()会执行json中的js代码,不判断是否合法,十分危险,不推荐使用 2.JSON.parse(jsondata),判断json中的值是否合法,不合法会报错.

 eval 与 JSON.parse()的区别:

eval 不仅解析了json 还解析了里面的js输出语句。而JSON.parse 则不执行其中的js输出语句

注:eval()是很危险的!因为eval()方法不会管json字符串是否合法,而且还会直接执行js方法,尤其是执行第三方的代码,可能会含有恶意代码。

通常,所有从服务器返回的字符串约定有如下格式:

{

"success":true/false,//请求是否正确执行

"msg":xxx,//参数错误情况下返回信息

"data":xxx,//参数正确情况下返回数据

}

要改造服务器端代码,同样改造客户端:

22085922_jm6I.jpg

JQuery中的AJAX

22085922_8YSJ.jpg

22085922_0Lib.jpg

22085922_RIcc.jpg

处理跨域的方法

22085922_gaIo.jpg

前端增加两处改动

165804_9kJf_3176241.png

后端增加的改动:

170027_Y2nV_3176241.png

170534_jg3g_3176241.png

红框内的语句,把要返回的JSON对象括起来:

170246_vAYD_3176241.png

解决主流浏览器跨数据GET跨域访问数据的方法。 只能处理GET跨域名的请求

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3176241/blog/829744

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值