为了账号安全,请及时绑定邮箱和手机立即绑定

前端学习之ajax

标签:
JavaScript

         

一、什么是jsonJSON(JavaScript Object Notation, 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": new Date('Fri, 26 Aug 2011 07:13:10 GMT'),  "getName":  function() {return this.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",                   type:"POST",                            });                          //{a: 22, b: 33}             注意:contentType:"application/json"一旦设定,data必须是json字符串,不能是json对象
csrf跨站请求伪造$.ajaxSetup({    data: {csrfmiddlewaretoken: '{{ csrf_token }}' },})django 接受 ajax 传来的数组对象发送:ajax 通过 POST 方式传来一个数组接收:django 接受方式 array = request.POST.getlist(‘key[]’)其中,key为包含该数组的键值对的键。 尤其要注意“[]”,少了它将不能接受成功为什么要加”[]”? 分析前台发送数据,我们会发现:ajax自动给数组中的数据的键名后添加了”[]”


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消