使用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>
全部评论

相关推荐

我朋友的华子2012,HR已经开始问意向地区了,好急
不讲武德的黑眼圈很能干:急得不行 也不说评级 不知道报的多少啊😡
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
11-02 09:49
已编辑
货拉拉_测试(实习员工)
热爱生活的仰泳鲈鱼求你们别卷了:没事楼主,有反转查看图片
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务