Jquery ajax书写方法代码实例解析


Posted in jQuery onJune 12, 2020

Ajax在前端的应用极其广泛,因此,我们有必要对其进行总结,以方便后期的使用。

AJAX优点:

可以异步请求服务器的数据,实现页面数据的实时动态加载, 在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

jquery在全局对象jquery(也就是$)绑定了ajax()函数,可以处理Ajax请求,ajax常用的配置选项有:

  • async 是否异步执行,默认为True,千万不要指定为False
  • method 发送的Method,缺省为“GET”,可指定为‘POST','PUT','DELETE', 单词字母必须大写
  • contentType 发送POST请求的格式,默认值为'application/x-www-form-urlencoded; charset=UTF-8',也可以指定为‘text/plain' 'application/json'
  • data 发送给后端的数据,可以是字符串、数组或对象。如果是GET请求,data将被转换成query附加到url上;如果是POST请求,根据contentType把data序列化成合适的格式
  • dataType 接收的数据格式,可以指定为'html' 'xml' 'json' 'text'等,缺省情况下根据响应的Content-Type猜测
  • headers 发送的额外的HTTP请求头,必须是一个Object

语法一:$.ajax({name:value, name:value, ...})

# 登录js代码
 $(".form-login").submit(function (e) {
     e.preventDefault();
     mobile = $("#mobile").val();
     pwd = $("#password").val();
     var data = {
       mobile: mobile,
       pwd: pwd
     };
     $.ajax({
       url: "/api/***",
       type: "POST",
       data: JSON.stringify(data),
       contentType: "application/json",
       dataType: "json",
       headers: {"X-CSRFToken": getCookie('csrf_token')},
       success: function (resp) {
        if (resp.error == 0){
           // resp 是后端通过json.dumps()返回的json格式数据:res={"error":0, "errmsg":"登录失败"}
           // resp = json.dumps(res)
           // 请求成功,跳转页面
           location.href = '/'
         }
         else {
           alert(resp.errmsg)
         }
       }
     })
  })

语法二:$.get(URL, params, function(resp, status_code){})

URL必需参数;

params可选参数,params={key:value...}, 会以?key=value&key=value...的方式自动添加到URL后面

function(resp, status_code) 可选参数,是请求成功后所执行的函数,resp是后台返回的数据; states_code是自动生成的响应状态码,可缺省

# 更新首页房源展示信息
 var params = {
     aid: 0,
     sd: "2018-2-20",
     ed: "2019-2-29",
     page: 1
   };
 $.get("/api/v1_0/houses", params, function(resp){
     if (resp.error == 0){
       $(".house-list").html(template("house-list-tmpl", {houses:resp.data.houses}));
     }
     else {
       $(".house-list").append(template("house-list-tmpl", {houses: resp.data.houses}));
     }
   })

语法三:$.post(URL, data, function(resp, states_code){})

URL必选参数;

data 可选参数 连同请求发送的数据;

function(resp, status_code) 可选参数,是请求成功后所执行的函数,resp是后台返回的数据; states_code是自动生成的响应状态码,可缺省

$("button").click(function(){
  $.post("/try/ajax/demo_test_post.php",
  {
    name:"mjy",
    url:"https://cnblogs.com/We612/"
  },
    function(data,status){
      alert("数据: \n" + data + "\n状态: " + status);
  });
});

说明:

$.GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。

$.POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。

实际应用中多用到语法一 语法二, 语法三较少

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery实现div跟随鼠标移动
Aug 20 jQuery
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
基于jQuery实现的Ajax 验证用户名唯一性实例代码
Jun 28 jQuery
jQuery事件对象的属性和方法详解
Sep 09 jQuery
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
jQuery实现点击下拉框中的值累加到文本框中的方法示例
Oct 28 jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 jQuery
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 jQuery
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
jquery获取元素到屏幕四周可视距离的方法
Sep 05 jQuery
jQuery实现的分页插件完整示例
May 26 jQuery
基于ajax及jQuery实现局部刷新过程解析
Sep 12 #jQuery
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 #jQuery
Jquery滑动门/tab切换实现方法完整示例
Jun 05 #jQuery
JQuery实现折叠式菜单的详细代码
Jun 03 #jQuery
深入分析jQuery.one() 函数
Jun 03 #jQuery
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 #jQuery
jQuery实现倒计时功能完整示例
Jun 01 #jQuery
You might like
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
建立动态的WML站点(三)
2006/10/09 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
javascript学习网址备忘
2007/05/29 Javascript
js CSS操作方法集合
2008/10/31 Javascript
Prototype Function对象 学习
2009/07/12 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
js实现批量删除功能
2020/08/27 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
Python中几种操作字符串的方法的介绍
2015/04/09 Python
python实现简单爬虫功能的示例
2016/10/24 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
python文件选择对话框的操作方法
2019/06/27 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
python 读取数据库并绘图的实例
2019/12/03 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
环保倡议书
2014/04/14 职场文书
特教教师先进事迹
2014/05/21 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
vue 自定义组件添加原生事件
2022/04/21 Vue.js