首页 > 其他分享 >JQuery通过Ajax发送数据

JQuery通过Ajax发送数据

时间:2024-09-08 21:35:25浏览次数:2  
标签:JQuery function term definition Ajax html 发送数据 entry part

JQuery的基础教程

     第六章:通过Ajax发送请求

      html代码

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title>     <script src="jquery-3.4.1.js"></script> </head> <body>     <script>                $(document).ready(function(){           //1.直接获取html文件            $('#letter-a a').click(function(event){               event.preventDefault();               //先隐藏目标元素,然后开始加载,               //当加载完成时,又通过回调函数以淡出的方式逐渐显示出新生的元素               $('#dictionary').hide().load('a.html',function(){                 $(this).fadeIn('slow');               });             //   $.ajax({             //     url:"a.html"             //   })             //   alert("Loaded");            });            //2.获取json格式的文件,并对文件进行解析            $("#letter-b a").click(function(event){                event.preventDefault();                //json规定:所有的对象键以及所有的字符串值,都必须包含在双引号中                //   $.getJSON()称为类方法,全局方法,                //第二个参数是当加载完成时调用的函数。                $.getJSON('b.json',function(data){                 var html="";                 //$.each()不操作jQuery对象,它以数组或对象作为第一个参数,                 //以回调函数作为第二个参数,                 //每次循环要将数组或对象的当前索引和当前索引项作为回调函数的两个参数                 $.each(data,function(entryIndex,entry){                     html += '<div class="entry">';                     html += '<h3 class="term">'+entry.term+'</h3>';                     html += '<div class="entry">'+entry.part+'</div>';                     html += '<div class="definition">';                     html += entry.definition;                     if(entry.quote){                             html+='<div class="quote">';                             $.each(entry.quote,function(lineIndex,line){                                 html+='<div class="quote-line">'+line+'</div>';                             });                             if(entry.author){                             html+='<div class="quote-author">'+entry.author+'</div>';                     }                     html += '</div>';                     }                                         html += '</div>';                     html += '</div>';
                });                 $('#dictionary').html(html);                })                //$.get()和.load()等快捷的Ajax方法并没有提供错误的回调函数                //可以使用全局的.ajaxError()方法,还可以利用JQuery的延迟对象系统                .fail(function(jqXHR){                 //status包含了服务器返回的状态码:                 //  400:  请求语法错误                 //  401: 为授权                 //  403:  禁止访问                 //  404:  未发现请求的URL                 //  500:  服务器内部的错误                   $("#dictionary").html('An error occurred:'+jqXHR.status).append(jqXHR.responseText);                })                                ;              });            //加载.js文件            $('#letter-c a').click(function(){                 event.preventDefault();                 $.getScript('c.js');            });            //加载XML文档            $('#letter-d a').click(function(){             event.preventDefault();             $.get('d.xml',function(data){                 $('#dictionary').empty();                     var html='<div class="entry">';                     $(data).find("entry").each(function(){                         var $entry=$(this);                         var html='<div class="entry">';                         html+='<h3 class="term">'+$entry.attr('term')+'</h3>';                         html+='<div class="part">'+$entry.attr('part')+'</div>';                         html+='<div class="definition">';                         html+=$entry.find('definition').text();                         var $quote=$entry.find('quote');                         if($quote.length){                             html+='<div class="quote">';                                 $quote.find('line').each(function(){                                     html+='<div class="quote-line">';                                     html+=$(this).text()+"</div>";                                 });                                 if($quote.attr('author')){                                     html+='<div class="quote-author">';                                     html+=$quote.attr('author')+'</div>';                                 }                                 html+='</div>';                         }                         html+='</div>';                         html+='</div>';                         $('#dictionary').append($(html));               });             });          });             //.ajaxStart()和.ajaxStop()事件             //加载反馈系统就位,a的.load()和b的.getJSON()都可以导致反馈操作发生             var $loading=$('<div id="loading">Loading</div>').insertBefore('#dictionary');             $(document).ajaxStart(function(){                 $loading.show();             }).ajaxStop(function(){                 $loading.hide();             })             //看起来一切正常,但是在现有代码的基础上单击没有结果             //因为在单击时,词条还没有被添加到文档中,             //通过Ajax生成页面内容时常见的问题             $('h3.term').click(function(){                 $(this).siblings('.definition').slideToggle();             });             //值得推荐的做法:事件委托             //.on()告诉浏览器密切关注页面上发生的任何单击事件。             //当被点击的元素与h3.term选择符匹配时,才会执行事件处理程序             $('body').on('click','h3.term',function(){                 $(this).siblings('.definition').slideToggle();             })         })     </script>       <h1>The Devil's Dictionary</h1>       <span>by Ambrose Bierce</span>       <br>       <br>       <br>       <div class="letters" style="float: left;width:200px">         <div class="letter" id="letter-a">             <h3><a href="entries-a.html">A</a></h3>         </div>         <div class="letter" id="letter-b">             <h3><a href="entries-b.html">B</a></h3>         </div>         <div class="letter" id="letter-c">             <h3><a href="entries-c.html">C</a></h3>         </div>         <div class="letter" id="letter-d">             <h3><a href="entries-d.html">D</a></h3>         </div>       </div>       <div id="dictionary"  style="float: left; width:800px">             </div> </body> </html>        json文件 [     {         "term":"BACCHUS",         "part":"n.",         "definition":"A convenient deity invented by the....",         "quote":[             "Is public worship,then,a sin,",             "That for devotions paid to Bacchus",             "The licitors dare to run us in,",             "And resolutely thump andwhach us?"         ],         "author":"Jorace"     },     {         "term":"BEARD",         "part":"v.t.",         "definition":"To speak of a man as you find him when..."     },     {         "term":"BEARD",         "part":"n.",         "definition":"The hair that is commonly cut off by..."     } ]        xml文件 <?xml version="1.0" encoding='UTF-8'?> <entries>    <entry term='DEFAME' part='v.t.'>       <definition>          To lie about another. To tell the truth about another       </definition>    </entry>     <entry term='DEFENCELESS' part='adj.'>       <definition>         Unable to attack       </definition>    </entry>     <entry term='DELUSION' part='n.'>       <definition>           The father of a most respectable family.           comprising Enthusiasm,Affection,Self-denial,Faith,Hope           ,Charity and many other goodly sons and daughters       </definition>       <quote author="Munfrey Mappel">           <line>             All hail,Delusion! Were it not for three           </line>           <line>             The world turned topsy-turvy we should see;           </line>           <line>              For Vice, respectable with cleanly fancies           </line>           <line>             Would fiy abandoned Virtue's gross advances.           </line>       </quote>    </entry> </entries>              js文件 var entries=[     {         "term":"CALAMITY",         "part":"n.",         "definition":"A more than commonly plain and...."     },     {         "term":"CANNIBAL",         "part":"n.",         "definition":"A gastronome of the old school who...."     }     ,     {         "term":"CHILDHOOD",         "part":"n.",         "definition":"The period of human life intermediate...."     } ]; var html=""; $.each(entries,function(){      html+='<div class="entry">';      html+='<h3 class="term">'+this.term+'</h3>';      html+='<div class="part">'+this.part+'</div>';      html+='<div class="definition">'+this.definition+'</div>';      html+='</div>'; }); $('#dictionary').html(html);      

 

标签:JQuery,function,term,definition,Ajax,html,发送数据,entry,part
From: https://www.cnblogs.com/njhwy/p/18403538

相关文章

  • jQuery动态添加和删除表格记录
    <!DOCTYPEhtml><html><head><title>jQuery动态添加和删除表格记录</title><scriptsrc="Scripts/jquery-3.4.1.min.js"></script></head><body><tableid="myTable">......
  • jQuery下拉框搜索模糊查询实现
    jQuery下拉框搜索模糊查询实现在web开发中,经常会遇到需要在下拉框中进行搜索并进行模糊查询的需求。jQuery是一个广泛应用于前端开发的JavaScript库,可以帮助我们实现这样的功能。本文将介绍如何使用jQuery实现下拉框搜索模糊查询功能。HTML结构首先,我们需要在HTML中定义一个select......
  • Jquery中获取iframe的代码(window.top.parent)
    父窗口中操作iframe:window.frames["iframeChild"].document//假如iframe的id为iframeChild在子窗口中操作父窗口:window.parent.document那么,用如果想用jquery的方法,我们怎么用jquery来获取iframe呢?下面是一下收集来的方法。获取页面的对象其实就是dom方法外面加上jq......
  • JQuery的DOM操作
    JQuery基础教程第四版 第五章:DOM操作方法的简单归纳使用JQuery的DOM操作实现以下功能   1.创建新元素   2.插入新元素   3.移动元素   4.包装元素   5.复制元素相关代码HTML文件 <!DOCTYPEhtml><htmllang="en"><head>  <meta......
  • jQuery常用功能
     在jQuery中,添加新元素到DOM(文档对象模型)中通常使用几种不同的方法,这些方法让能够将HTML内容、文本、jQuery对象或DOM元素插入到页面上的指定位置。以下是一些常用的方法:1..append()和.appendTo().append(content):向每个匹配的元素内部追加内容。.appendTo(target):将所有匹配的......
  • jQuery中的大于等于(>=)操作符使用技巧
    jQuery中的大于等于(>=)操作符使用技巧在jQuery中,常常需要对元素的某个属性或数值进行比较,判断是否大于等于某个特定的值。在这种情况下,使用大于等于(>=)操作符是非常常见的。本文将介绍如何在jQuery中使用大于等于操作符的技巧,帮助您更好地进行数据处理和交互操作。基本语法大于等于(>=......
  • 【转】[jquery] 各版本分析
    转自:https://www.jb51.net/javascript/297784ud9.htmjquery-1.12.4.min.js下载1.x、2.x、3.x三大系列的区别1,IE的支持情况比较(1)情况分析1.x:支持ie6、ie7、ie82.x、3.x:不支持ie6、ie7、ie8(2)选择建议如果需要兼容ie678:只能选择1.x如果不需要兼容ie678:可以选择2.x......
  • 初识jQuery
    jQuery简介jQuery由美国人JohnResig于2006年创建jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装它的设计思想是writeless,domore例:实现隔行变色效果,只需一句关键代码<!DOCTYPEhtml><html><head><title>订单表格</title></head><!--......
  • 【学亮IT手记】Ajax跨域问题精讲--jQuery解决跨域操作
    什么是跨域跨域,它是不同的域名(服务器)之间的相互的资源之间的访问。当协议,域名,端口号任意一个不同,它们就是不同的域。正常情况下,因为浏览器安全的问题,不同域之间的资源是不可以访问的。跨域的解决方案什么情况下会用到跨域?一般情况,是在自己的内部的工程中会出现跨域的情况。有三种解......
  • 串口发送数据
    一、这是一篇描述怎么用串口发送数据的文章1.设计思想稍微介绍一下这个项目想要完成的效果是:每隔10ms,用串口发送一次数据。前一个项目完成了如何用串口发送8bit,这个项目是在前一个的基础上,写一个涵盖它的大模块。大模块把send_en、data信号传给子模块,子模块有了激励信号(而不用......