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)
}
}
})
})

$.ajax()

语法二:$.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}));
}
})

$.get()

语法三:$.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 ajax几种书写方式的总结的更多相关文章

  1. Struts2框架(3)---Action类的3种书写方式

    Action类的3种书写方式 本文主要写有关写Action类的3种书写方式: (1)第一种 Action可以是POJO (简单模型对象)  不需要继承任何父类 也不需要实现任何接口 (2)实现Acti ...

  2. jQuery中的Ajax几种请求方式

    1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...

  3. ajax 几种提交方式

    方式一: $.ajax({ type: 'POST', url: "/user/editPwd.htm", data: {"oldPassword":oldPa ...

  4. [jquery-ajax] jquery ajax 三种情况对比

    <button class="btn1">async:false</button> <button class="btn2"> ...

  5. css的四种书写方式

    优先级: 外部样式 < 内部样式表 < 内联样式表: 优先级,即:同名的选择器右边的会覆盖左边 1.内部样式表 <head> <style> /*内部样式表,一般用 ...

  6. ajax两种不同方式的不同结果

    function upLoadAlterData(){ $("#form_main").ajaxSubmit({ url:"XX", cache:false, ...

  7. css的三种书写方式

    一.内联样式 <p style="color: sienna; margin-left: 20px"> This is a paragraph </p> 二 ...

  8. JavaScript权威设计--jQuery,Ajax.animate,SVG(简要学习笔记二十)[完结篇]

    1.$和jquery在全局命名空间中定义的唯一两个变量.   2.jquery是工厂函数,不是构造函数.他返回一个新创建的对象.   3.jquery的四种调用方式:     <1>传递C ...

  9. mvc数组绑定-jquery ajax

    var list=[];//数组 list[0]=1001; list[1]=1002; list[1]=1003; var json_data = { selected: list}; $.ajax ...

随机推荐

  1. Pycharm2018永久破解的办法

    Pycharm2018永久破解的具体步骤: 一.下载pycharm2018专业版 JetBrains官网:https://www.jetbrains.com/pycharm/download/#sec ...

  2. Python:bs4的使用

    概述 bs4 全名 BeautifulSoup,是编写 python 爬虫常用库之一,主要用来解析 html 标签. 一.初始化 from bs4 import BeautifulSoup soup ...

  3. HTTP协议及其相关

    URI.URL.URN URL,统一资源定位符,用来标识某一处资源的地址,必须包含协议和域名,协议指的是HTTP.FTP.WS.file等协议,域名就是常说的网址,比如www.baidu.com ,其 ...

  4. Ajax全局处理错误

    背景:项目前端ajax请求很多都没有写error方法,所以用户体验很不好 新来的前端负责人发现这个问题,写了一个错误处理方法,如下 //统一处理Ajax错误方法 function onAjaxErro ...

  5. CentOS下MySQL的安装

    MySQL数据库是一款比较常用的数据库,大家在练习安装时,可能会遇到各种各样的问题,请大家参考在CentOS系统下MySQL数据库的安装方式.如有任何问题,欢迎留言,本人随时解答. MySQL安装步骤 ...

  6. Openresty的同步输出与流式响应

    Openresty的同步输出与流式响应 默认情况下, ngx.say和ngx.print都是异步输出的,先来看一个例子: location /test { content_by_lua_block { ...

  7. MongoDB学习(配置用户账户和访问控制)

    理解admin数据库 安装MongoDB时,会自动创建admin数据库,这是一个特殊的库.有些用户账户角色赋予用户操作多个数据库的权限,而这些用户只能在admin数据库中创建.要创建有权操作所有数据库 ...

  8. 前端入门24-响应式布局(BootStrap)

    声明 本篇内容摘抄自以下两个来源: BootStrap中文网 感谢大佬们的分享. 正文-响应式布局(BootStrap) 这次想来讲讲一个前端开发框架:BootStrap BootStrap 目前已经 ...

  9. Linux常用查找命令

    第一种:grep命令 示例: 第二种:find命令 示例: 第三种:locate命令 示例: 第四种:whereis命令 示例: 第五种:which命令 示例:

  10. DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting

    XSS (Cross-site scripting) 攻击,为和 CSS 有所区分,所以叫 XSS.又是一种防不胜防的攻击,应该算是一种 "HTML注入攻击",原本开发者想的是显示 ...