1. <body>
  2. <div id="resText"></div>
  3. <div id="reshtml"></div>
  4. <script src="js/jquery/jquery-1.8.3.min.js"></script>
  5. <script type="text/javascript">
  6. $(function(){
  7. $.ajax({
  8. type: "get",
  9. url: "test2.json",
  10. data:{flag:"wap-mobile",mid:"m123456"}, //可选参数
  11. dataType: "json",
  12. success: function(data){
  13. console.log(data);
  14. console.log(data.result.banners);
  15. //遍历banner数组,取到每个值;
  16. for (var i=0;i<data.result.banners.length;i++) {
  17. console.log(data.result.banners[i]);
  18.  
  19. //只能用在少量需要DOM插入时使用;大量DOM数据时不可取。
  20. var img=$("<img src="+data.result.banners[i].banners_pic+" />")
  21. var div = $("#resText");
  22. div.append(img);
  23. }
  24.  
  25. for (var j=0;j<data.result.goods_list.length;j++) {
  26. console.log(data.result.goods_list[j].product_name);
  27.  
  28. //只能用在少量需要DOM插入时使用;大量DOM数据时不可取。
  29. var html = '<div class="goods_list">'+
  30. ' <dl>'+
  31. ' <dt><img src='+data.result.goods_list[j].product_img_url+'/></dt>'+
  32. ' <dd>'+data.result.goods_list[j].product_name+'</dd>'+
  33. ' </dl>'+
  34. '</div>';
  35. var div = $("#reshtml");
  36. div.append(html);
  37.  
  38. }
  39.  
  40. }
  41. });
  42. });
  43.  
  44. </script>
  45. </body>

注:

  1. 1、关于type参数:type: "get",
      要求为String类型的参数,请求方式(postget)默认为get。注意其他http请求方法,例如putdelete也可以使用,但仅部分浏览器支持。
  2.  
  3. 2、关于URL参数:url: "test2.json",
      要求为String类型的参数,(默认为当前页地址)发送请求的地址。
  4.  
  5. 3、关于data参数:data:{flag:"wap-mobile",mid:"m123456"},
  1.   要求为ObjectString类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2
  2.  
  3. 4、关于dataType参数:dataType: "json",
      要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据httpmime信息返回responseXMLresponseText,并作为回调函数参数传递。可用的类型如下:
      xml:返回XML文档,可用JQuery处理。
      html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
      script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
      json:返回JSON数据。
      jsonpJSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
      text:返回纯文本字符串。
  4.  
  5. 5、关于success参数:success: function(data){}
      要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
        (1)由服务器返回,并根据dataType参数进行处理后的数据。
       (2)描述状态的字符串。
         function(data, textStatus){
             //data可能是xmlDoc、jsonObj、html、text等等
             this;  //调用本次ajax请求时传递的options参数
         }
  6.  
  7. 6、关于error参数:
      要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:
           function(XMLHttpRequest, textStatus, errorThrown){
              //通常情况下textStatus和errorThrown只有其中一个包含信息
              this;   //调用本次ajax请求时传递的options参数
           }
    7、其他更多参数省略!
  8.  
  9. 8、代码格式转换网址:http://www.css88.com/tool/html2js/
  1. var html = '<div class="goods_list">'+
  1. ' <dl>'+
  2. ' <dt><img src='+data.result.goods_list[j].product_img_url+'/></dt>'+
  3. ' <dd>'+data.result.goods_list[j].product_name+'</dd>'+
  4. ' </dl>'+
  5. '</div>';
  6.  
  7. 9url: "test2.json", //json格式的数据(是后台处理之后给出api接口文档)
  1. {
  2. "result": {
  3. "banners": [
  4. {
  5. "banners_pic": "img/1.jpg"
  6. }
  7. ],
  8. "goods_brand": [
  9. {
  10. "brand_id": "6394",
  11. "brand_name": "雪花秀/SULWHASOO",
  12. "brand_mainpage_pic": "img/6394.png"
  13. },
  14. {
  15. "brand_id": "6435",
  16. "brand_name": "爱丽小屋/ETUDE HOUSE",
  17. "brand_mainpage_pic": "img/6435.png"
  18. },
  19. {
  20. "brand_id": "6676",
  21. "brand_name": "A.H.C",
  22. "brand_mainpage_pic": "img/6676.png"
  23. }
  24. ],
  25. "goods_list": [
  26. {
  27. "product_id": "10000049487",
  28. "product_name": "伊思蜗牛霜 60ML",
  29. "product_img_url": "img/01_m.jpg",
  30. "real_price_dollar": "47.00",
  31. "real_price_rmb": "321.95",
  32. "brand_name": "伊思/It`S SKIN",
  33. "vip_product_price": "173.49",
  34. "is_import": "0",
  35. "item_price": "¥191.00",
  36. "fenhong_vip_price": "184.30",
  37. "item_label": "售价"
  38. },
  39. {
  40. "product_id": "10002013756",
  41. "product_name": "MANDARINA DUCK 背包 AIRBAG 49T01001",
  42. "product_img_url": "img/1_m.jpg",
  43. "real_price_dollar": "199.00",
  44. "real_price_rmb": "1365.14",
  45. "brand_name": "意大利鸳鸯/MANDARINA DUCK",
  46. "vip_product_price": "1228.63",
  47. "is_import": "1",
  48. "item_price": "¥1228.63",
  49. "fenhong_vip_price": "1228.63",
  50. "item_label": "折扣价",
  51. "import_label": "折扣价",
  52. "import_price": "1228.63"
  53. }
  54. ]
  55.  
  56. }
  57. }

=========================================================================

$.each()方法实现:

顺便说一下$.each()函数:
$.each()函数不同于JQuery对象的each()方法,它是一个全局函数,不操作JQuery对象,而是以一个数组或者对象作为第1个参数,以一个回调函数作为第2个参数。回调函数拥有两个参数:第1个为对象的成员或数组的索引,第2个为对应变量或内容。

  1. <body>
  2. <div id="resText">
  3. <input type="text" name="username" id="username" value="中国" />
  4. <input type="text" name="content" id="content" value="客服回答授课计划合肥" />
  5. </div>
  6. <script src="js/jquery/jquery-1.8.3.min.js"></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. $.ajax({
  10. type: "GET",
  11. url: "test.json",
  12. data: {username:"name", content:"content"},
  13. dataType: "json",
  14. success: function(data){
  15. console.log(data);
  16. console.log(data.name);
  17. console.log(data.content);
  18.  
  19. $('#resText').empty(); //清空resText里面的所有内容
  20. var html = '';
  21. $.each(data, function(commentIndex, comment){
  22. //html = '<div><h6>'+data.name+'</h6><p>'+data.content+'</p></div>';
  23. html = '<div>'+
  24. ' <h6>'+data.name+'</h6>'+
  25. ' <p>'+data.content+'</p>'+
  26. '</div>';
  27. });
  28. $('#resText').html(html);
  29. }
  30. });
  31. });
  32.  
  33. </script>
  34. </body>

test.json

  1. {
  2. "name":"中国",
  3. "content":"客服回答授课计划合肥",
  4. "province":[
  5. {
  6. "name":"黑龙江",
  7. "cities":{
  8. "city":["哈尔滨","大庆"]
  9. }
  10. },
  11. {
  12. "name":"广东",
  13. "cities":{
  14. "city":["广州","深圳","珠海"]
  15. }
  16. },
  17. {
  18. "name":"台湾",
  19. "cities":{
  20. "city":["台北","高雄"]
  21. }
  22. },
  23. {
  24. "name":"新疆",
  25. "cities":{
  26. "city":["乌鲁木齐"]
  27. }
  28. }
  29. ],
  30. "error": "0",
  31. "hasmore": "false",
  32. "msg": "提示信息",
  33. "total":"合计总数"
  34. }

=================================================================================

  1. <body>
  2. <div class="ajaxResult">我们的练习题</div>
  3. <script src="js/jquery/jquery-1.8.3.min.js"></script>
  4. <script type="text/javascript">
  5. var num=10, //定义的全局变量(参数)
  6. area="青岛市市南区",
  7. curpage=1;
  8.  
  9. $.ajax({
  10. type: "get", //以POST或GET的方式请求。默认GET。PUT和DELETE也可以用,但并不是所有的浏览器都支持
  11. url: "test3.json", //请求的目的地址,须是一个字符串。
  12. data: { //发送到服务器的数据的键/值对象====后台需要传过去处理的参数。get方法则附在html请求地址后面。http://192.168.1.82:8020/juzhong/test3.json?flag=wap&type=like&num=10&area=%E9%9D%92%E5%B2%9B%E5%B8%82%E5%B8%82%E5%8D%97%E5%8C%BA&curpage=1
  13. flag: "wap",
  14. type: 'like',
  15. num: num,
  16. area :area,
  17. curpage: curpage
  18. },
  19. dataType:"json", //想从服务器得到哪种类型的数据。xml,html,script,json,jsonp,text
  20. beforeSend: function(XMLHttpRequest){
  21. //传递异步请求之前的事件。
  22. alert("传递异步请求之前的事件");
  23. },
  24. success: function(data, textStatus){
  25. //请求成功后的处理函数
  26. $(".ajaxResult").html("");
  27. console.log(data);
  28. $.each(data, function(){
  29. //document.write(data.d[0].CustomerName); //宋江
  30. $(".ajaxResult").append("<li>"+data.d[0].CustomerName+"</li>");
  31.  
  32. });
  33. },
  34. complete: function(XMLHttpRequest, textStatus){
  35. //不管请求成功还是错误,只要请求完成,可以执行的事件。
  36. alert("不管请求成功还是错误,只要请求完成,可以执行的事件。");
  37. },
  38. error: function(){
  39. alert("请求出错处理");
  40. //请求出错处理
  41. }
  42. });
  43. </script>
  44. </body>

test3.json

  1. {
  2. "d":[
  3. {
  4. "Unid":1,
  5. "CustomerName": "宋江",
  6. "Memo": "天魁星",
  7. "Other": "黑三郎"
  8. },
  9. {
  10. "Unid":2,
  11. "CustomerName": "吴用",
  12. "Memo": "天机星",
  13. "Other": "智多星"
  14. }
  15. ]
  16. }

更多资源:

http://www.cnblogs.com/kissdodog/archive/2012/12/09/2810545.html

  1.  

jQuery与ajax的应用(一)的更多相关文章

  1. jQuery之ajax实现篇

    jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...

  2. 【原创经验分享】JQuery(Ajax)调用WCF服务

    最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...

  3. jQuery版AJAX简易封装

    开发过程中,AJAX的应用应该说非常频繁,当然,jQuery的AJAX函数已经非常好用,但是小编还是稍微整理下,方便不同需求下,可以简化输入参数,下面是实例代码: $(function(){ /** ...

  4. JS原生ajax与Jquery插件ajax深入学习

    序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...

  5. 重写jquery的ajax方法

    //首先备份下jquery的ajax方法 var _ajax=$.ajax; //重写jquery的ajax方法 $.ajax=function(opt){ //备份opt中error和success ...

  6. Jquery通过Ajax方式来提交Form表单

    今天刚好看到Jquery的ajax提交数据到服务器的方法,原文是: 保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: ...

  7. 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache

    虽然jquery的较新的api已经很好用了, 但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯:2,可以对ajax操作做一些统一处理,比如追加随机数或 ...

  8. jquery管理ajax异步-deferred对象

    今天跟大家分享一个jquery中的对象-deferred.其实早在jquery1.5.0版本中就已经引入这个对象了.不过可能在实际开发过程中用到的并不多,所以没有太在意. 这里先不说deferred的 ...

  9. Struts2 使用jQuery实现Ajax

    在jQuery中将Ajax相关的操作进行封装,使用时只需在合适的地方调用Ajax相关的方法即可,相比而言,使用jQuery实现Ajax更加简洁,方便 1.$.Ajax()可以通过发送Http请求加载远 ...

  10. JQuery中Ajax的操作

    JQuery   Ajax异步操作的方式: $.ajax,$.post, $.get, $.getJSON. 一, $.ajax,这个是JQuery对ajax封装的最基础步,通过使用这个函数可以完成异 ...

随机推荐

  1. bzoj 2503 相框 分类讨论

    题目大意:给定一张无向图,每次可以进行以下两种操作: 1.将一个点分裂成一些点,原先这个点连接的每条边任选一个新点进行连接 2.将两个度数为1的点合并为1个点 求将这个图变成一个环的最小操作次数 我们 ...

  2. sys.modules[__name__]

    A way to get a handle to the current running module in Python: import sys module = sys.modules[__nam ...

  3. 【03】Vue 之列表渲染及条件渲染

    3.1. 条件渲染 有时候我们要根据数据的情况,决定标签是否进行显示或者有其他动作.最常见的就是,表格渲染的时候,如果表格没有数据,就显示无数据.如果有数据就显示表格数据. Vue帮我们提供了一个v- ...

  4. 序列统计(bzoj 4403)

    Description 给定三个正整数N.L和R,统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量.输出答案对10^6+3取模的结果. Input 输入第一行包含一个整数T,表示数据组 ...

  5. 【HDOJ5976】Detachment(贪心)

    题意:给定n,要求构造若干个各不相同且和为n的正整数使得它们的乘积最大 T<=1e6,1<=n<=1e9 思路:From https://blog.csdn.net/qq_34374 ...

  6. POJ1595 Prime Cuts

    Prime Cuts Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11961   Accepted: 4553 Descr ...

  7. 《手把手教你学C语言》学习笔记(7)---程序的输入与输出

    程序设计中,为了观察程序的运行状态和结构,需要输出指定的内容:为了让程序能够更加灵活,可以根据需求输入内容,让计算机处理和运行:所以程序的输入输出就显的尤为重要.主要包括printf和scanf函数. ...

  8. mysql 连接远程服务器

    想要在本地连接远程服务器上的mysql, 需要在远程服务器的mysql配置里面,修改一下访问权限 mysql的配置里面,默认只能本地访问,在服务器上,修改/etc/mysql/my.cnf文件找到这一 ...

  9. AC日记——黑魔法师之门 codevs 1995

    1995 黑魔法师之门  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 经过了16个工作日的紧张 ...

  10. JWT在PHP使用及问题处理

    官网 https://jwt.io/ 3.0版本 https://github.com/lcobucci/jwt 安装 composer require lcobucci/jwt 依赖 PHP 5.5 ...