Jquery ajax书写方法代码实例解析
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 方法不会缓存数据,并且常用于连同请求一起发送数据。
实际应用中多用到语法一 语法二, 语法三较少
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
ajax.net +jquery 无刷新三级联动的实例代码
-
ajax.net +jquery 无刷新三级联动的实例代码
-
asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
-
asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
-
php jquery ajax用户登录实例代码
-
jQuery扩展方法实现Form表单与Json互相转换的实例代码
-
使用php方法curl抓取AJAX异步内容思路分析及代码分享_php实例
-
jQuery+Ajax+PHP“喜欢”评级功能实现代码_php实例
-
jquery自定义类似$.ajax()的方法实现代码
-
jQuery中的ajax-(json数据格式)代码实例讲解