AJAX基础 项目实战

本文详细介绍jQuery如何封装Ajax,实现前后端联动,包括二级联动菜单、登录案例等具体应用,涵盖参数传递、数据类型处理及错误处理等关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目一:二级联动菜单实现

jQuery对ajax的支持

1、jQuery对ajax进行封装,提供了$.ajax();
2、语法:$.ajax(options); – 传入json对象
在这里插入图片描述

常用设置项及说明

1、url 发送请求地址
2、type 请求类型get | post
3、data 向服务器传递的参数
4、dataType 服务器响应的数据类型 text | json | xml | HTML | jsonp | script
5、success 接受响应时的处理函数
6、error 请求失败时的处理函数

案例执行步骤

1、准备后台数据
在这里插入图片描述
2、准备前端页面
– Ajax文件下新建前端页面
3、对于json中的data参数遇到多个,怎么写?
(1) 第一种方式:字符串拼接 – “data”:”t=pypl&abc=123&uu=777”,
(2) jquery为我们提供了json的书写方式 – “data”:{“t”:“pypl”,“abc”:“123”,“uu”:“777”},
参考之前年月日的三级联动

实现效果

在这里插入图片描述
在这里插入图片描述

项目部分源代码
 $(function(){
      $.ajax({
        "url":"http://localhost:8080/channel",
        "data":{"level":"1"},
        "type":"get",
        "dataType":"json",
        "success":function(json){
          console.log(json);
          for(var i=0;i<json.length;i++){
            var ch = json[i];
            $("#lv1").append("<option value='"+ ch.code +"'>"+ ch.name +"</option>");
          }
        }
      })
    })

    $(function(){
      $("#lv1").on("change",function(){
        var parent = $(this).val();
        console.log(parent);
        $.ajax({
          "url":"http://localhost:8080/channel",
          "data":{"level":"2","parent":parent},
          "dataType":"json",
          "type":"get",
          "success":function(json){
            console.log(json);
            //移除lv2下的所有原始options项
            $("#lv2>option").remove();
            for(var i=0;i<json.length;i++){
              var ch = json[i];
              $("#lv2").append("<option value='"+ ch.code +"'>"+ ch.name +"</option>");
            }
          }
        })
      })
    })

项目二:登录案例 – 联动后端服务器

使用Ajax进行前后台的联动

案例执行步骤

1、准备user用户数据
去除两端空格 – $.trim() – 这个函数表示去除字符串两端的空白字符
2、新建ajax.html页面
(1) 登陆失败
在这里插入图片描述
(2) 登陆成功
在这里插入图片描述
(3)url地址、请求类型不匹配。服务器异常;

项目部分源代码
$.ajax({
	url:"http://localhost:8080/ajax11",
	data:{
		username:username,
		password:password
	},
	type:"post",
	dataType:"json",
	async:true,//false使用同步,true表示异步
	success:function(req){
		if (req.success==1) {
			console.log(req.user);
			alert('登陆成功!');
			$(location).attr('href','index.html');
		} else {
			alert('登录失败!');
			$(location).attr('href','user.html');
		}		
	},
	error:function(xmlHttp,errorText){
		console.log(xmlHttp);
		console.log(errorText);
		alert("请求异常,请联系管理员解决!");
		$(location).attr('href','user.html');
	}
})
经典案例,带数据库脚本、Java源文件和页面源文件。有演示效果,也可以自己部署看效果。以下是案例的目录。 1-1.EXE 动态加载的FAQ实例演示 1-2.EXE 根据邮政编码获取地区信息实例演示 1-3.EXE 动态树形列表实例演示 1-4.EXE 多级联动菜单实例演示 1-5.EXE 条件设置向导实例演示 1-6.EXE 页面关键词提示实例演示 2-1.EXE 无刷新显示回帖实例演示 2-2.EXE 输入内容前提示实例演示 2-3.EXE 带进度的文件上传实例演示 2-4.EXE 大量数据动态浏览查询实例演示 2-5.EXE 信息排序实例演示 2-6.EXE 切换标签页实例演示 3-1.EXE 注册表单验证实例演示 3-2.EXE 购物车实例演示 3-3.EXE 产品快速检索实例演示 3-4.EXE 系列产品特性速查实例演示 3-5.EXE 邮件订阅实例演示 3-6.EXE 产品评级实例演示 4-1.EXE 简单计算器实例演示 4-2.EXE 文章拼写检查实例演示 4-3.EXE 拼词游戏实例演示 4-4.EXE 在线词典实例演示 4-5.EXE 远程网页源代码读取实例演示 5-1.EXE 相册浏览实例演示 5-2.EXE 幻灯片实例演示 5-3.EXE 灯箱效果实例演示 5-4.EXE 聊天室实例演示 6-1.EXE 自动登录实例演示 6-2.EXE 自动保存草稿实例演示 6-3.EXE 实时更新的股价实例演示 6-4.EXE 提前加载分页文章实例演示 7-1.EXE 获取服务器当前时间实例演示 7-2.EXE 远程PING服务器实例演示 7-3.EXE 服务器监测系统实例演示 7-4.EXE 使用滑动栏设置参数实例演示 8-1.EXE RSS阅读器实例演示 8-2.EXE 天气情况查询实例演示 8-3.EXE 访问搜索服务实例演示 8-4.EXE 读取Amazon产品目录实例演示 9-1.EXE 名片册实例演示 9-2.EXE 自定义个人门户实例演示 9-3.EXE 个人任务管理实例演示 9-4.EXE 许愿墙实例演示 9-5.EXE 日程表实例演示 9-6.EXE 考试系统实例演示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值