jQuery--Ajax之ajax()方法详解

30 篇文章 2 订阅
$.ajax()方法:

$.ajax()方法是jQuery最底层的Ajax实现。其语法格式如下:

$.ajax(options)

该方法只有一个参数,但在这个对象里包含了$.ajax()方法所需要的请求设置以及回调函数等信息,参数以key/value形式存在,所有参数都是可选的。

参数名称类型说明
asyncBoolean是否为异步请求(默认为true)
contentTypeString发送至服务器时内容的编码类型。(默认为"application/x-www-form-urlencoded")
urlString(默认为当前页面地址)发送请求的地址
typeString请求方式(POST或GET)默认为GET
timeoutNumber设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置
dataObject或String发送到服务器的数据。如果已经不是字符串,将自动转换字符串格式。GET请求中将附加在URL后。放置这种自动转换,可以查看processData选项。对象必须为key/value格式。例如{key1:“value1”,key2:“value2”}转换为key1=value1&key2=value2.如果是数组,jQuery将自动为不同值对应同一个名称
dataTypeString预期服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包MIME信息返回responseXML或responseText,并作为回调函数参数传递。
可用的类型如下:
xml:返回XML文档,可用jQuery处理
html:返回纯文本HTML信息:包含的script标签会在插入DOM时执行
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意,在远程请求时(不再同一个城下),所有的POST请求都转换为GET请求
json:返回JSON数据
jsonp:返回JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,jQuery将自动替换后一个“?”为正确函数名,以执行回调函数
text:纯文本字符串
beforeSendFunction发送请求前可以修改XMLHttpRequest对象的函数,例如添加自定义HTTP头。在beforeSend中如果返回false可以取消本次Ajax请求。XMLHttpRequest是唯一的参数
completeFunction请求完成后调用的回调函数(请求失败或成功均调用),参数为XMLHttpRequest对象和一个描述成功请求类型的字符串
successFunction请求成功后调用的回调函数,有两个参数。
data:由服务器返回,并根据dataType参数进行处理后的数据
textStatus:描述状态的字符串
errorFunction请求失败时调用的函数。该函数有三个参数。
XMLHttpRequest对象、错误信息、捕获的错误对象(可选)
globalBoolean默认为true。表示是否触发全局Ajax事件。设置为false将不会触发全局Ajax事件,AjaxStart或AjaxStop可用用于控制各种Ajaxshijian

示例:
主页面:

<%--
  Created by IntelliJ IDEA.
  User: 19798
  Date: 2019/10/3
  Time: 10:56
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>ajax</title>
    <script src="<%=request.getContextPath()%>/js/jquery-2.1.0.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            //post请求
            $("#ajaxId").on("click", function () {
                $.ajax(
                    {
                        url:"response.jsp",
                        async:"true",
                        type:"POST",
                        data:{"username":"Hello", "password":"123456"},
                        dataType:"json",
                        success:function (data) {
                            $("#resText").html(data.username + ":" + data.password);
                        },
                        error:function () {
                            alert("资源获取失败!")
                        }
                    }
                );
            });
        });
    </script>
</head>
<body>
    <button id="ajaxId" value="getAjax">getAjax</button>
    <div id="resText"></div>
</body>
</html>

响应页面response.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    String jsonStr = "{\"username\":\"" + username + "\",\"password\":\"" + password +"\"}";
    response.getWriter().write(jsonStr);
%>

点击按钮,页面显示:
在这里插入图片描述

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值