$.ajax({})方法success,error,complete,beforeSend使用例子及解释

时间:2023-03-09 18:53:39
$.ajax({})方法success,error,complete,beforeSend使用例子及解释

在与后台交互的时候,经常使用到jquery的$.ajax()方法来请求数据;

回调函数用的比较多的是success,但是complete、beforeSend、error函数也是很有用的;

下面是使用例子小结:

html代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>ajax_demo</title>
  6. </head>
  7. <style>
  8. .display{
  9. width:600px;
  10. height: 400px;
  11. border:1px solid;
  12. }
  13. </style>
  14. <body>
  15. <div class="box">展示数据区域:</div>
  16. <div class="display"/></div>
  17. <input type="button" value="点击获取数据" id="inp" onclick="getData()"/>
  18. <script type="text/javascript" src="jquery.min.js"></script>
  19. <script type="text/javascript" src="bootstrap.min.js"></script>
  20. <script type="text/javascript">

js代码:

  1. <script type="text/javascript">
  2. function getData(){
  3. $.ajax({
  4. url:'http://192.168.31.227/sfytjjk/wdaj/wdla.php',
  5. type:"post",
  6. timeout:5000,
  7. async:true,
  8. cache:true,
  9. data:"user_id=12&page=0",
  10. dataType:"json",
  11. contentType:"application/x-www-form-urlencoded",
  12. beforeSend:function(XMLHttpRequest){
  13. console.log(this);
  14. $("#inp").val("正在获取数据...");
  15. },
  16. success:function(data){
  17. console.log(data);
  18. $(".display").html("获取到的数据:</br>");
  19. $(".display").append("总条数:"+data.data.all_count);
  20. $("#inp").val("点击获取数据");
  21. },
  22. complete:function(XMLHttpRequest,textStatus){
  23. if(textStatus=='timeout'){
  24. var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
  25. xmlhttp.abort();
  26. $(".box").html("网络超时!");
  27.     }
  28. $("#inp").val("点击获取数据");
  29. },
  30. error:function(XMLHttpRequest, textStatus){
  31. console.log(XMLHttpRequest);  //XMLHttpRequest.responseText    XMLHttpRequest.status   XMLHttpRequest.readyState
  32. console.log(textStatus);
  33. $(".box").html("服务器错误!");
  34. }
  35. });
  36. /*
  37. 通过捕捉error事件来获取出错的信息:
  38. error: function(XMLHttpRequest, textStatus, errorThrown) {
  39. alert(XMLHttpRequest.status);
  40. alert(XMLHttpRequest.readyState);
  41. alert(textStatus);
  42. }
  43. XMLHttpRequest.readyState: 状态码的意思
  44. 0 - (未初始化)还没有调用send()方法
  45. 1 - (载入)已调用send()方法,正在发送请求
  46. 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
  47. 3 - (交互)正在解析响应内容
  48. 4 - (完成)响应内容解析完成,可以在客户端调用了
  49. status:返回的HTTP状态码,比如常见的404,500等错误代码。
  50. statusText:对应状态码的错误信息,比如404错误信息是not found,500是Internal Server Error。
  51. responseText :服务器响应返回的文本信息
  52. complete: function (XMLHttpRequest, textStatus) {
  53. //textStatus的值:success,notmodified,nocontent,error,timeout,abort,parsererror
  54. },
  55. error: function (XMLHttpRequest, textStatus, errorThrown) {
  56. //textStatus的值:null, timeout, error, abort, parsererror
  57. //errorThrown的值:收到http出错文本,如 Not Found 或 Internal Server Error.
  58. }
  59. */
  60. }
  61. </script>

原文链接:http://blog.****.net/qq_30337695/article/details/51373727

随机推荐

  1. 深入浅出Redis-redis底层数据结构(下)

    概述: 学习使用Redis,其实并不需要去研究其底层数据的实现.我们只需要了解他有哪些常用的数据类型,然后熟练使用,就可以很好的掌握Redis 这个工具了.但是这样的学习方法只适合Redis 的入门, ...

  2. 【使用教程】论Windows下必备的抓包工具Fiddler2如何安装证书(查看Https)

    一.写在前面 好久没更新博客了,最近也是忙着年前的一些事情,所以一直没来得及弄一些有价值的东西,还是来冒个泡.随着苹果公司要求的2017年开始上架审核必须是Https,而原本Http的上架需要提交强烈 ...

  3. 浅谈CSS3 box-reflect 属性

    今天说一下 CSS3的box-reflect属性,也就是倒影特效. 语法: box-reflect:包括3个值. 1. direction 定义方向,取值包括 above . below . left ...

  4. 【CSS学习笔记】背景图片

    直接看代码: background: blue; /*页面背景为蓝色,很简单的代码*/background-image:url(small.jpg); /*页面背景是名字叫small.jpg的图片*/ ...

  5. [z] .net与java建立WebService再互相调用

    http://blog.****.net/yenange/article/details/5824967 : .net建立WebService,在Java中调用. 1.在vs中新建web 简单修改一下 ...

  6. 文档在线预览开源实现方案三:OpenOffice + PDFRenderer + js

    之前的方案无法很好地解决异构平台及不同浏览器的兼容性问题,如方案一需要客户端浏览器支持flash而移动端浏览器无法支持这点,虽然移动端浏览器支持方案二,但是一些老版本的IE浏览器无法支持,例如IE8就 ...

  7. 获取URL中的参数值

    //获取url中ID的值function getParamByName(name, url) { var match = RegExp('[?&]' + name + '=([^&]* ...

  8. hdu5976贪心乘法逆元

    hdu 5976 Detachment题目连接 题意: 给定一个自然数x,让你给出一种拆分方式n=a1+a2+...(ai≠aj),使得每个小部分的乘积s=a1*a2*...最大 解题思路: 我们要乘 ...

  9. java自带的监控工具VisualVM一

    转自:http://www.cnblogs.com/wade-xu/p/4369094.html 这篇总结的很不错(本人亲自操手学习),留着以后复习备用,很适合入门级的学习者: VisualVM 是一 ...

  10. JVM调优实战

      JVM调优实战 文档修订记录 版本 日期 撰写人 审核人 批准人 变更摘要 & 修订位置                                                   ...