使用jQuery实现Ajax请求

使用jQuery实现Ajax请求的优点

  • 代码实现更加简单,简化了ajax请求
  • 不用考虑Ajax在不同浏览器上的实现不同
  • 通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。

jQuery中提供了三种函数实现Ajax请求

使用前需要先导入jQuery的JS库文件。下载地址:jQuery

  1. $.ajax()
$.ajax({
   
	  //参数说明
  	  axync: //是一个boolean类型的值,默认为true,表示异步请求
      contentType: //一个字符串,表示浏览器发送到服务器的参数类型json格式:application/json
      data: //可以使用字符串、数组、json,表示请求的参数
      dataType: //表示期望从服务器获取的数据格式,可选:xml、html、text、json
      error: //一个函数,表示请求发生错误时,执行的函数
      success: //表示请求成功时(readystate==2 && status==200)执行的函数
      url: //请求地址
      type: //请求类型 post/get
  })
  1. $.post()
    语法格式:
$.post(URL,data,callback);
//URL为请求地址
//data为提交的参数
//callback为请求成功后执行的函数
  1. $.get()
    语法格式:
$.get(URL,callback);

实例

  实现级联查询功能。运行样例如下,在省份列表框中点击福建省,即可在城市列表框中显示所属的城市。

前端代码如下(数据库、Servlet需另编写):

<%--
  Created by IntelliJ IDEA.
  User: cc
  Date: 2020/7/3
  Time: 18:41
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>获取所有省份到select</title>
    <script type="text/javascript" src="js/jQuery-3.5.1.js"></script>
    <script>

        function doAgax(){
   
            $.ajax({
   
                url:"queryProvince",
                dataType:"json",
                success:function (res) {
   
                    //将数据库省份加入下拉列表之前,先清除列表中的内容
                    $("#province").empty();
                    //循环将
                    $.each(res,function (i,n) {
   
                        $("#province").append("<option value='"+n.id+"'>"+n.name+"</option>");
                    })
                }
            })
        }

        $(function () {
   

            //页面中dom加载完毕后直接显示省份
            doAgax();

            // $("#btn").click(function () {
   
            // doAgax();
            // })

			//检测省份下拉列表框是否发生变化
            $("#province").change(function () {
   
                var obj = $("#province>option:selected");

                var proId = obj.val();
				//$.post()方法实现Ajax请求
                $.post("queryCity",{
   proId:proId},callBack,"json");
            })
        })

        function callBack(res) {
   
            //清空下拉列表框中的内容
            $("#city").empty();
            $.each(res, function (i,n) {
   
                $("#city").append("<option value='"+n.id+"'>"+n.name+"</option>");
            })
        }
    </script>
  </head>
  <body>
    <table border="1px" cellpadding="0" cellspacing="0">
        <tr>
            <td>省份:</td>
            <td>
                <select id="province">
                    <option value="0">请选择...</option>
                </select>
            </td>
            <%--<td><input type="button" id="btn" value="查询"></td>--%>
        </tr>
        <tr>
            <td>城市:</td>
            <td>
                <select id="city">
                    <option value="0">请选择...</option>
                </select>
            </td>
        </tr>
    </table>
  </body>
</html>
全部评论

相关推荐

无敌虾孝子:喜欢爸爸还是喜欢妈妈
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务