1、什么是AJAX

AJAX = 异步的javascript和XML(Asynchronous Javascript and XML)

  1. 简言之,在不重载整个网页的情况下,AJAX通过后台加载数据,并在网页上进行显示。
  2.  
  3. 通过 jQuery AJAX 方法,您能够使用 HTTP Get HTTP Post 从远程服务器上请求文本、HTMLXML JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。

2、jQuery的load()方法

  1. jQuery load()方法是简单但强大的AJAX方法。
  2.  
  3. load()方法从服务器加载数据,并把返回的数据放入被选元素中。

语法:

  1. $("selector").load(url,data,callback);

  

  1. 必须的url参数规定记载的url地址
  2. 可选的data参数规定与请求一同发送的查询字符串键/值对的集合
  3. 可选的callback参数是load()方法完成后所执行的函数名称
  1. 1
  2. $('#btn').click(function(){
  3.  
  4. //只传一个url,表示在id为#new-projects的元素里加载index.html
  5. $('#new-projects').load('./index.html');
  6. })
  1. 2
  2. $('#btn').click(function(){
  3. //只传一个url,导入的index.html文件含有多个传递参数,类似于:index/html?name='张三'
  4. $('#new-projects').load('./index.html',{"name":'张三',"age":12});
  5. })
  1. 3
  2. //加载文件之后,会有个回调函数,表示加载成功的函数
  3. $('#new-projects').load('./index.html',{"name":'张三',"age":12},function(){
  4.  
  5. });
  1. 注意:load函数最好在服务器网页中应用,也就是说要在服务器上运行,本地调试需要搭建后端本地环境。

3. jquery的getJSON方法

jQuery的AJAX中使用getJSON()方法异步加载JSON格式数据。获取服务器中的数据,并对数据进行解析,显示到页面中

  1. 语法: $.getJSON(url,[data],[callback])

  

  1. url参数为请求加载json格式文件的服务器地址,可选项data参数为请求时发送的数据,callback参数为数据请求成功后执行的函数
  2. $.getJSON("./data/getJSON.json", function (data) {
  3. var str = "";//初始化保存内容变量
  4. $.each(data, function(index,ele) {
  5. $('ul').append("<li>"+ele.name+"</li>")
  6.  
  7. });
  8. })
  1.  

4.jquery的$.get()方法

$.get() 方法通过 HTTP GET 请求从服务器上请求数据

  1. 语法:$.get(URL,callback);

  

  1. url参数规定你请求的路径,是必需参数,callback参数为数据请求成功后执行的函数
  2.  
  3. $.get('./data/getJSON.json',function(data,status){
  4. console.log(status); //success 200状态码 ok的意思
  5. })

5.jquery的post()方法

与get()方法相比,post()方法多用于以POST方式向服务器发送数据,服务器接收到数据之后,进行处理,并将处理结果返回页面

  1. 语法:$.post(URL,data,callback);

  

  1. url参数规定你请求的路径,是必需参数,可选的data参数是连同请求发送的数据。可选的callback参数为数据请求成功后执行的函数
  2. $.post('/index',{name:'张三'},function(data,status){
  3. console.log(status);
  4.  
  5. })

6. jquery的$.ajax()方法

jquery的$.ajax()方法 是做ajax技术经常使用的一个方法。

它的参数很多,总会有一些初学者记不住,在这里,演示几个经常使用的参数。后面讲django课程的时候老师会详细讲ajax技术的原理。大家先把每个参数做个笔记。

  1. 参数如下:
    1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
  2.  
  3. 2.type: 要求为String类型的参数,请求方式(postget)默认为get。注意其他http请求方法,例如putdelete也可以使用,但仅部分浏览器支持。
  4.  
  5. 3.timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。
  6.  
  7. 4.async: 要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。
  8.  
  9. 5.cache: 要求为Boolean类型的参数,默认为true(当dataTypescript时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。
  10.  
  11. 6.data: 要求为ObjectString类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2
  12.  
  13. 7.dataType: 要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据httpmime信息返回responseXMLresponseText,并作为回调函数参数传递。可用的类型如下: xml:返回XML文档,可用JQuery处理。 html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。 script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。 json:返回JSON数据。 jsonpJSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。 text:返回纯文本字符串。
  14.  
  15. 8.beforeSend 要求为Function类型的参数,发送请求前可以修改XMLHttpRequest对象的函数,例如添加自定义HTTP头。在beforeSend中如果返回false可以取消本次ajax请求。XMLHttpRequest对象是惟一的参数。 function(XMLHttpRequest){ this; //调用本次ajax请求时传递的options参数 } 9.complete:
  16.  
  17. 要求为Function类型的参数,请求完成后调用的回调函数(请求成功或失败时均调用)。参数:XMLHttpRequest对象和一个描述成功请求类型的字符串。 function(XMLHttpRequest, textStatus){ this; //调用本次ajax请求时传递的options参数 }
  18.  
  19. 10.success
  20.  
  21. 要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。 (1)由服务器返回,并根据dataType参数进行处理后的数据。 (2)描述状态的字符串。 function(data, textStatus){ //data可能是xmlDoc、jsonObj、html、text等等 this; //调用本次ajax请求时传递的options参数 }
  22.  
  23. 11.error: 要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下: function(XMLHttpRequest, textStatus, errorThrown){ //通常情况下textStatus和errorThrown只有其中一个包含信息 this; //调用本次ajax请求时传递的options参数 }
  24.  
  25. 12.contentType 要求为String类型的参数,当发送信息至服务器时,内容编码类型默认为"application/x-www-form-urlencoded"。该默认值适合大多数应用场合。
  26.  
  27. 13.dataFilter 要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供datatype两个参数。dataAjax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。 function(data, type){ //返回处理后的数据 return data; }
  28.  
  29. 14.dataFilter 要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供datatype两个参数。dataAjax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。 function(data, type){ //返回处理后的数据 return data; }
  30.  
  31. 15.global 要求为Boolean类型的参数,默认为true。表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStartajaxStop可用于控制各种ajax事件。
  32.  
  33. 16.ifModified 要求为Boolean类型的参数,默认为false。仅在服务器数据改变时获取新数据。服务器数据改变判断的依据是Last-Modified头信息。默认值是false,即忽略头信息。
  34.  
  35. 17.jsonp 要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GETPOST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。
  36.  
  37. 18.username 要求为String类型的参数,用于响应HTTP访问认证请求的用户名。
  38.  
  39. 19.password 要求为String类型的参数,用于响应HTTP访问认证请求的密码。
  40.  
  41. 20.processData 要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false
  42.  
  43. 21.scriptCharset 要求为String类型的参数,只有当请求时dataType"jsonp"或者"script",并且typeGET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用
  1. //get()方式
  2. $.ajax({
  3. url:'./data/index.txt',
  4. type:'get',
  5. dataType:'text',
  6. success:function(data){
  7. $('p').html(data);
  8.  
  9. },
  10. error:function(error){
  11. console.log(error)
  12. }
  13.  
  14. //post()方式
  15. $.ajax({
  16. url:'/index',
  17. type:'post',
  18. data:{name:'张三',age:12},
  19. success:function(data){
  20. $('p').html(data);
  21. },
  22. error:function(error){
  23. console.log(error)
  24. }
  1. 注意:以上所有操作,请在服务器上运行此代码,如果没有服务器,可以在本地搭建本地服务器。
  2. 好吧!!咱们还没学,我们可以使用PCCharm,WebStrom,HBuilder上运行此代码。但是post请求的方法 我们暂时没法演示,
  3. 后面在django部分讲到服务器的老师,会给大家详细演示get请求和post请求的处理。

7、常用的load ajax.get ajax.post

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. </head>
  7. <body>
  8.  
  9. <button id="btn">演示</button>
  10. <div id="box">
  11.  
  12. </div>
  13. </body>
  14. <script src='jquery-3.2.1.js'></script>
  15. <script type="text/javascript">
  16. $(document).ready(function(){
  17.  
  18. //1.load()方法
  19. $('#btn').click(function(){
  20. //只传一个url,导入的index.html文件含有多个传递参数,类似于:index/html?name='张三'
  21. $('#box').load('./test.html');
  22. });
  23.  
  24. //2.get请求
  25. $.ajax({
  26. url:'./test.html',
  27. //url:'./data.json',
  28. type:'get', // 默认是 get
  29. dataType:'json', // 如果不指定 默认自动识别文件类型
  30. // dataType:'text',
  31. success:function(data){
  32.  
  33. console.log(data);
  34. },
  35. error:function(){
  36.  
  37. }
  38. });
  39.  
  40. //3.post请求
  41. //注意:post请求无法演示 马上学django 就可以演示了
  42. $.ajax({
  43. url:"/course",
  44. type:'post',
  45. data:{
  46. username:'zhangsan',
  47. password:'123'
  48. },
  49. success:function(data){
  50.  
  51. if(data.state == 'ok'&& data.status =='200'){
  52. //登录成功
  53. }
  54.  
  55. },
  56. error:function(err){
  57. console.log(err);
  58. }
  59. })
  60.  
  61. })
  62. </script>
  63. </html>

25-[jQuery]-ajax的更多相关文章

  1. jQuery Ajax 实例 ($.ajax、$.post、$.get)

    jQuery Ajax 实例 ($.ajax.$.post.$.get) 转 Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. ...

  2. Jquery ajax 学习笔记

    本人的js & jq 一直是菜鸟级别,最近不忙就看了看ajax方面的知识,文中部分内容参考自这里&这里 之前一直用js写ajax现在基于jq实现方便多了~ $.get & $. ...

  3. jquery ajax提交表单数据的两种方式

    http://www.kwstu.com/ArticleView/kwstu_201331316441313 貌似AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职 ...

  4. [转]Jquery Ajax用法

    原文地址:http://www.php100.com/html/program/jquery/2013/0905/6004.html jQuery学习之jQuery Ajax用法详解 来源:   时间 ...

  5. jQuery ajax 实现分页 kkpager插件

    代码片段一: <!--分页组件 JS CSS 开始--> <!--分页组件 CSS--> <link type="text/css" href=&qu ...

  6. jquery Ajax应用总结

    常见应用: 下面是Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET&quo ...

  7. Flask jQuery ajax

    http://www.runoob.com/jquery/jquery-ref-ajax.html http://jun1986.iteye.com/blog/1399242 下面是jQuery官方给 ...

  8. Jquery Ajax时 error处理 之 parsererror

    Jquery Ajax时 error处理 之 parsererror     01 $.ajax({ 02         type: "POST", 03         con ...

  9. 使用jQuery AJAX读取二进制数据

    READING BINARY DATA USING JQUERY AJAX http://www.henryalgus.com/reading-binary-files-using-jquery-aj ...

  10. 前端和后端的数据交互(jquery ajax+python flask+mysql)

    上web课的时候老师布置的一个实验,要求省市连动,基本要求如下: 1.用select选中一个省份. 2.省份数据传送到服务器,服务器从数据库中搜索对应城市信息. 3.将城市信息返回客户,客户用sele ...

随机推荐

  1. eclipse导入spring aop xml约束

    步骤: 1. 2. 3. 4.取  Location:中最后一个命名:spring-aop-4.2.xsd,放到Key的最后面,Key type:选择 Schema location.点击OK 5.编 ...

  2. Numpy 的常用操作

    1.创建数组array # 创建数组array import numpy as np a = np.array([1,2,3]) #创建数组 b = np.array([(1.5,2,3), (4,5 ...

  3. windows 2012R2 上必须要用sharepoint 2013 sp1.

    已经确认. 虽然有人讲以下powershell可以帮助安装sharepoint 2013. 不过不是每次都可以的 Import-Module ServerManager Add-WindowsFeat ...

  4. ZT 9种排序

    9种排序 2012-09-19 14:58 66人阅读 评论(0) 收藏 编辑 删除 algorithmfpfilemergeintegerfloat [cpp] view plaincopy #in ...

  5. 团队作业—预则立&&他山之石(改)

    首先特别感谢刘乾学长腾出他宝贵的时间接受我的采访,为我们提出宝贵的建议,深表感谢. 1.他山之石,可以攻玉.借鉴前人的经验可以使我们减少很多走弯路的地方,这也是本次采访的目的,参考历届学长的经验,让我 ...

  6. php 实现hash表

    hash表又称散列表,通过把关键字key经过hash函数映射到hash表中某个位置获取记录. 存放记录的数组又称为hash表,映射函数称为hash函数 下面是php中实现hash表的方法 <?p ...

  7. php实现随机数字、字母的验证码

     php实现随机数字.字母的验证码 可自定义生成验证码文字的大小.数量.干扰项等等,也可以自定义验证文字的字体... 废话不多说,直接上代码: 1.classgd.class.php <?php ...

  8. iptables.md

    iptables基本概念 工作流程 1.一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转发出去. 2.如果数据包就是进入本机的,它就会沿着图向下移动,到达I ...

  9. 第七周:Python

    python的应用场景 重复性的东西编写脚本 和对于大数据量的操作 数据搭建的环境 不建议自己在网上找下载,建议下载anaconda,可在清华镜像里面下载anaconda,下载安装之后可在桌面上找到程 ...

  10. SDWC补题计划

    2018的寒假去了SD的冬令营,因为一班二班难度悬殊,对我很不友好,几乎什么也没学会,但是我把两个班的课件都存了下来,现在慢慢把两个班的例题以及课后题都补一补(毕竟冬令营的钱不能白花). 这些题目横跨 ...