前端一定得学ajax吗,前端学习之ajax

一、什么是json

JSON(JavaScriptObjectNotation,JS对象标记)是一种轻量级的数据交换格式。

它基于ECMAScript(w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示

数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于

机器解析和生成,并有效地提升网络传输效率。

json类型是js类型的子集

json对象到json字符串是序列化过程,json字符串到json对象是反序列化过程

python的json模块,json.dumps(对象),序列化,json.loads(json字符串)反序列化

合格的json对象:

["one","two","three"]

{"one":1,"two":2,"three":3}

{"names":["张三","李四"]}

[{"name":"张三"},{"name":"李四"}]

不合格的json对象

{name:"张三",'age':32}//属性名必须使用双引号[32,64,128,0xFFF]//不能使用十六进制值

{"name":"张三","age":undefined}//不能使用undefined

{"name":"张三","birthday":newDate('Fri,26Aug201107:13:10GMT'),"getName":function(){returnthis.name;}//不能使用函数和日期对象}

stringify和parse方法

JSON.parse():用于将json字符串转化为javascript对象

console.log(JSON.parse('{"name":"Yuan"}'));

console.log(JSON.parse('{name:"Yuan"}'));//错误

console.log(JSON.parse('[12,undefined]'));//错误

JSON.stringify():用于将javascript对象转化为JSON字符串

console.log(JSON.stringify({'name':"egon"}));

二、ajax

同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;

异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。

AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉

中完成请求和响应过程)

ajax优缺点

优点:

1、ajax异步请求

2、ajax无需刷新整个页面

3、因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高;

缺点:

1、AJAX并不适合所有场景,很多时候还是要使用同步交互;

2、AJAX虽然提高了用户体验,但无形中向服务器发送的请求次数增多了,导致服务器压力增大;

3、因为AJAX是在浏览器中使用Javascript技术完成的,所以还需要处理浏览器兼容性问题;

ajax语法

$.ajax({

url:"/handle_Ajax/",type:"POST",data:{username:"Yuan",password:123},success:function(data){

alert(data)

}

})

data:当前ajax请求要携带的数据,是一个json的object对象,ajax方法就会默认地把它编码成某种格式

(urlencoded:?a=1&b=2)发送给服务端;此外,ajax默认以get方式发送请求。

contentType:默认值:"application/x-www-form-urlencoded"。发送信息至服务器时内容编码类型。

用来指明当前请求的数据编码格式;urlencoded:?a=1&b=2;如果想以其他方式提交数据,

比如contentType:"application/json",即向服务器发送一个json字符串:

$.ajax("/ajax_get",{

data:JSON.stringify({

a:22,b:33

}),contentType:"application/json",});//{a:22,b:33}

注意:contentType:"application/json"一旦设定,data必须是json字符串,不能是json对象

csrf跨站请求伪造

$.ajaxSetup({

data:{csrfmiddlewaretoken:'{{csrf_token}}'},})

总结

以上是编程之家为你收集整理的前端学习之ajax全部内容,希望文章能够帮你解决前端学习之ajax所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值