ajax异步请求详解


Posted in Javascript onJanuary 06, 2017

做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事。既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.com学习,教程完善,适合初学者快速入门。

jQuery的引用,可以通过下载js文件导入,或通过外部导入

<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>

导入好jQuery之后我们就可以开始进行ajax异步更新请求数据了。

1、使用load()方法通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,它的调用格式为:load(url,[data],[callback])参数url为加载服务器地址,可选项data参数为请求时发送的数据,callback参数为数据请求成功后,执行的回调函数。

$(function(){
  $("#btn").click(function(){
    $("ul").html("<img src='Images/Loading.gif' alt=''/>").load("www.manyiaby.com",function(){
    });
  });
});

2、使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数据,并对获取的数据进行解析,显示在页面中,它的调用格式为:jQuery.getJSON(url,[data],[callback])或$.getJSON(url,[data],[callback])其中,url参数为请求加载json格式文件的服务器地址,可选项data参数为请求时发送的数据,callback参数为数据请求成功后,执行的回调函数。

$(function(){
  $("#btn").click(function(){
    $.getJson("www.manyiaby.com", function(data){
      $.each(data, function(index, sport){
        if(index==3)
          alert(sport["name"]);
      })
    });
  });
});

3、使用getScript()方法异步请求并执行服务器中的JavaScript格式的文件,它的调用格式如下所示:jQuery.getScript(url,[callback])或$.getScript(url,[callback])参数url为服务器请求地址,可选项callback参数为请求成功后执行的回调函数。

$(function(){
  $("#btn").click(function(){
    $.getScript("www.manyiaby.com", function(){
      alert("操作完成");
    });
  });
});

4、使用get()方法时,采用GET方式向服务器请求数据,并通过方法中回调函数的参数返回请求的数据,它的调用格式如下:$.get(url,[callback])参数url为服务器请求地址,可选项callback参数为请求成功后执行的回调函数。

$(function(){
  $("#btn").click(function(){
    $.get("www.manyiaby.com", function(data){
      alert(data.name);
    }, "json");
  });
});

5、与get()方法相比,post()方法多用于以POST方式向服务器发送数据,服务器接收到数据之后,进行处理,并将处理结果返回页面,调用格式如下:$.post(url,[data],[callback])参数url为服务器请求地址,可选项data为向服务器请求时发送的数据,可选项callback参数为请求成功后执行的回调函数。

$(function(){
  $("#btn").click(function(){
    $.post("www.manyiaby.com",{name:"满艺网", url:"www.manyiaby.com"}, function(data){
      alert(data);
    });
  });
});

6、使用serialize()方法可以将表单中有name属性的元素值进行序列化,生成标准URL编码文本字符串,直接可用于ajax请求,它的调用格式如下:$(selector).serialize()其中selector参数是一个或多个表单中的元素或表单元素本身。

$(function(){
  $("#btn").click(function(){
    alert($("form").serialize());
  });
});

7、使用ajax()方法是最底层、功能最强大的请求服务器数据的方法,它不仅可以获取服务器返回的数据,还能向服务器发送请求并传递数值,它的调用格式如下:jQuery.ajax([settings])或$.ajax([settings])其中参数settings为发送ajax请求时的配置对象,在该对象中,url表示服务器请求的路径,data为请求时传递的数据,dataType为服务器返回的数据类型,success为请求成功的执行的回调函数,type为发送数据请求的方式,默认为get。

$(function(){
  $("#btn").click(function(){
    $.ajax({
      url:"www.manyiaby.com",
      dataType:"text",
      data:{name:"满艺网", url:"wwww.manyiaby.com"},
      success:function(data){
        alert(data);
      }
    });
  });
});

8、使用ajaxSetup()方法可以设置Ajax请求的一些全局性选项值,设置完成后,后面的Ajax请求将不需要再添加这些选项值,它的调用格式为:jQuery.ajaxSetup([options])或$.ajaxSetup([options])可选项options参数为一个对象,通过该对象设置Ajax请求时的全局选项值。

$(function () {
  $.ajaxSetup({
    dataType:"text",
    success:function(data){
      alert(data);
    }
  });
  $("#btn").bind("click", function () {
    $.ajax({
      data: {name: "满艺网", url: "www.manyiaby.com"},
        url: "www.manyiaby.com"
       });
    })
  });
});

9、ajaxStart()和ajaxStop()方法是绑定Ajax事件。ajaxStart()方法用于在Ajax请求发出前触发函数,ajaxStop()方法用于在Ajax请求完成后触发函数。它们的调用格式为:$(selector).ajaxStart(function())和$(selector).ajaxStop(function())其中,两个方法中括号都是绑定的函数,当发送Ajax请求前执行ajaxStart()方法绑定的函数,请求成功后,执行ajaxStop ()方法绑定的函数。

$(function () {
  $.ajaxStart(function (){
    alert("正在请求数据...");
  });
  $.ajaxStop(function (){
    alert("数据请求完成!");
  });
  $("#btn").bind("click", function () {
    $.ajax({
      url: "www.manyiaby.com",
      dataType: "json",
      success: function (data) {
        alert("姓名:"+data.name);
       }
     });
  })
});

10、定义一个json对象,用于保存学生的相关资料,通过$.each()工具函数,获取数组中各元素的名称与内容,显示在页面中。

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
    <title>练习</title>
  </head>
  <body>
  <button>按钮</button>
  <script type="text/javascript">
    $(function () {
      $("button").bind("click", function () {
        var jsonDate = [{name:"满艺网", url:"www.manyiaby.com"}];
        $.each(jsonDate, function(index, data){
          alert(data.name);
        });
      })
    });  
  </script>
  </body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript调用客户端的可执行文件(示例代码)
Nov 28 Javascript
js HTML5 Canvas绘制转盘抽奖
Sep 13 Javascript
jQuery实现发送验证码并60秒倒计时功能
Nov 25 Javascript
微信小程序 封装http请求实例详解
Jan 16 Javascript
Javascript封装id、class与元素选择器方法示例
Mar 13 Javascript
JS异步文件上传(兼容IE8+)
Apr 02 Javascript
select自定义小三角样式代码(实用总结)
Aug 18 Javascript
详解webpack进阶之loader篇
Aug 23 Javascript
浅谈React深度编程之受控组件与非受控组件
Dec 26 Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 Javascript
JavaScript设计模式之职责链模式应用示例
Aug 07 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
Nov 14 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
Jan 06 #Javascript
微信小程序 二维码canvas绘制实例详解
Jan 06 #Javascript
微信小程序 小程序制作及动画(animation样式)详解
Jan 06 #Javascript
JS调用Android、Ios原生控件
Jan 06 #Javascript
JS正则匹配中文的方法示例
Jan 06 #Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 #Javascript
JS获取多维数组中相同键的值实现方法示例
Jan 06 #Javascript
You might like
PHP中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
php for 循环使用的简单实例
2016/06/02 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
javascript 新浪背投广告实现代码
2009/07/07 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
编辑求职信样本
2013/12/16 职场文书
鸿星尔克广告词
2014/03/21 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
初二学习计划书范文
2014/04/27 职场文书
文明工地标语
2014/06/16 职场文书
售后服务质量承诺书
2015/04/29 职场文书
MySQL Threads_running飙升与慢查询的相关问题解决
2021/05/08 MySQL
Spring Cloud Gateway去掉url前缀
2021/07/15 Java/Android