AJax技术

前端学习之ajax

字号+ 作者:H5之家 来源:H5之家 2017-09-02 14:04 我要评论( )

前端学习之ajax,一、什么是jsonJSON(JavaScriptObjectNotation,JS对象标记)是一种轻量级的数据交换格式。它基于ECMAScript(w3c制定的js规范)的一个子集,采用完

一、什么是json JSON(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 }}‘ }, })


本文出自 “linux技术” 博客,请务必保留此出处

标签:前端学习值ajax

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • [教学视频]Ajax程序开发经典实例视频教程

    [教学视频]Ajax程序开发经典实例视频教程

    2017-08-31 10:06

  • 使用ajax后,lazyload.js失效,怎么解决

    使用ajax后,lazyload.js失效,怎么解决

    2017-08-31 08:00

  • PHP学习之路(六)

    PHP学习之路(六)

    2017-08-26 16:00

  • jQuery教程视频_Ajax方法介绍

    jQuery教程视频_Ajax方法介绍

    2017-08-25 16:00

网友点评