位置: IT常识 - 正文

day35-JSON&Ajax03

发布时间:2024-01-27
JSON&Ajax03 4.jQuery的Ajax请求 原生Ajax请求问题分析: 编写原生的Ajax要写很多的代码,还要考虑浏览器兼容问题,使用不方便 在实际工作中,一般使用JavaScript的框架(比如jquery)发动Ajax请求,从而解决这个问题。 4.1jQuery Ajax操作方法 在 ... JSON&Ajax034.jQuery的Ajax请求

推荐整理分享day35-JSON&Ajax03,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

原生Ajax请求问题分析:

编写原生的Ajax要写很多的代码,还要考虑浏览器兼容问题,使用不方便在实际工作中,一般使用JavaScript的框架(比如jquery)发动Ajax请求,从而解决这个问题。4.1jQuery Ajax操作方法

在线文档:jQuery 参考手册 - Ajax (w3school.com.cn)

4.2$.ajax()方法

完整的参数查看手册:jQuery ajax - ajax() 方法

$.ajax 常用参数:

url:请求的地址type:请求的方式get或者post, 默认为 "GET"。

注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。data:发送到服务器的数据,将自动转换为请求字符串格式success:请求成功后的回调函数

参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。

这是一个 Ajax 事件。error:默认值: 自动判断 (xml 或 html),请求失败时的回调函数。dataType:指定返回的数据类型,常用json或text4.3$.get()和$.post()请求

jQuery AJAX get() 和 post() 方法

$.get()请求和$.post()请求常用参数:

url:请求的url地址data:请求发送到服务器的数据success:成功时的回调函数type:返回内容的格式,xml,html,script,json,text

说明:$.get() 和 $.post() 底层还是使用$.ajax()方法来实现异步请求

4.3.1$.get()

get() 方法通过远程 HTTP GET 请求载入信息

这是一个简单的 GET 请求功能以取代复杂 $.ajax,请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax().

语法:

$(selector).get(url,data,success(response,status,xhr),dataType)

4.3.2$.post()day35-JSON&Ajax03

post() 方法通过 HTTP POST 请求从服务器载入数据。

语法:

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)

4.4$.getJSON()方法

jQuery ajax - getJSON() 方法

$.getJSON()常用参数

url:请求发送哪个urldata:请求发送到服务器的数据success:请求成功时运行的函数

说明:$.getJSON()底层使用$.ajax()方法来实现异步请求

$.getJSON()方法通过 HTTP GET 请求载入 JSON 数据,语法:

jQuery.getJSON(url,data,success(data,status,xhr))

4.5应用实例4.5.1$.ajax()应用实例

演示jquery发送ajax的案例

在输入框输入用户名点击验证用户名,服务端验证该用户是否已经占用了,如果是,则以json格式返回该用户信息假定king为已使用的用户名对页面进行局部刷新,显示返回的信息

思路分析:直接参考3.2的思路图即可


引入jquery库:

注意:如果有的资源是拷贝进来的,有时候运行目录out没有及时更新,这时可以点击Rebuild Project,如果不行就redeploy Tomcat

配置servlet:

<servlet> <servlet-name>CheckUserServlet2</servlet-name> <servlet-class>com.li.ajax.servlet.CheckUserServlet2</servlet-class></servlet><servlet-mapping> <servlet-name>CheckUserServlet2</servlet-name> <url-pattern>/checkUserServlet2</url-pattern></servlet-mapping>

创建CheckUserServlet2:

package com.li.ajax.servlet;import com.google.gson.Gson;import com.li.ajax.entity.User;import javax.servlet.*;import javax.servlet.http.*;import java.io.IOException;public class CheckUserServlet2 extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //接收jquery发送的ajax数据 String username = request.getParameter("username");//参数名取决于前端的参数名 response.setContentType("text/json;charset=utf-8");//指定MIME类型为json Gson gson = new Gson(); if ("king".equals(username)) { //后面可以接入数据库database User user = new User(100, "king", "123", "king@163.com"); response.getWriter().print(gson.toJson(user)); } else { //返回一个不存在的User-->测试 User user = new User(-1, "", "", ""); response.getWriter().print(gson.toJson(user)); } }}

login2.html:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>用户注册</title> <!-- 引入jquery--> <script type="text/javascript" src="https://www.cnblogs.com/liyuelian/archive/2022/12/09/script/jquery-3.6.1.min.js"></script> <script type="text/javascript"> $(function () { //绑定事件 $("#btn1").click(function () { //发出ajax请求 /** * 1.指定参数时,需要在{}里面 * 2.指定参数时,需要指定参数名 * 3.dataType:"json" 代表要求服务器返回的数据是json, * 如果服务器返回的不是json,就会解析出错 */ $.ajax({ url: "/ajax/checkUserServlet2", type: "post", data: {//这里我们直接给一个json username: $("#uname").val(), date : new Date()//防止浏览器缓存 }, error:function () {//失败后的回调函数 console.log("失败") }, success:function (data,status,xhr) { console.log("成功"); console.log("data=",data); console.log("status=",status); console.log("xhr=",xhr); //data是一个json对象,需要转成json字符串 $("#div1").html(JSON.stringify(data)); //对返回的结果进行处理 if (""==data.username){//说明用户名可用 $("#myres").val("该用户名可用"); }else { $("#myres").val("该用户名不可用"); } }, dataType:"json" }) }) }) </script></head><body><h1>用户注册-Jquery+Ajax</h1><form action="/ajax/checkUserServlet2" method="post"> 用户名字:<input type="text" name="username" id="uname"> <input type="button" id="btn1" value="验证用户名"> <input type="text" id="myres"><br/><br/> 用户密码:<input type="password" name="password"><br/><br/> 电子邮件:<input type="text" name="email"><br/><br/> <input type="submit" value="用户注册"></form><h1>返回的 json 数据</h1><div id="div1"></div></body></html>

12/2 页前往❮❯
本文链接地址:https://www.jiuchutong.com/zhishi/311594.html 转载请保留说明!

上一篇:禁止DedeCMS未审核文档支持动态浏览方法

下一篇:取消DEDE织梦模板栏目列表页文章标题设置推荐后的加粗(织梦前台的菜单怎么换)

  • 国家企业信用信息公示系统营业执照怎么弄?

    国家企业信用信息公示系统营业执照怎么弄?

  • miui12底部横线如何去掉(miui12底端横线)

    miui12底部横线如何去掉(miui12底端横线)

  • 咪咕爱看不能用无线网吗(咪咕爱看不能看是什么问题)

    咪咕爱看不能用无线网吗(咪咕爱看不能看是什么问题)

  • qq修改作业有记录吗(qq作业修改后老师能看到吗)

    qq修改作业有记录吗(qq作业修改后老师能看到吗)

  • 手机照片太多占内存怎么办呢(手机照片太多占空间吗)

    手机照片太多占内存怎么办呢(手机照片太多占空间吗)

  • 腾讯课堂没上课老师知道吗(腾讯课堂上课了为什么没有记录)

    腾讯课堂没上课老师知道吗(腾讯课堂上课了为什么没有记录)

  • ata是固态硬盘吗(ata硬盘sata接口一样的吗)

    ata是固态硬盘吗(ata硬盘sata接口一样的吗)

  • 华为录屏功能不见了(华为屏幕录制不好使了怎么办)

    华为录屏功能不见了(华为屏幕录制不好使了怎么办)

  • 手机安装的软件在哪个文件夹(手机安装的软件不在桌面上怎么办)

    手机安装的软件在哪个文件夹(手机安装的软件不在桌面上怎么办)

  • 微信表情审核要多久(微信表情通过审核)

    微信表情审核要多久(微信表情通过审核)

  • kindle一直显示感叹号(kindle一直显示没电怎么办)

    kindle一直显示感叹号(kindle一直显示没电怎么办)

  • 怎么用照片做壁纸(怎么用照片做壁纸高级版)

    怎么用照片做壁纸(怎么用照片做壁纸高级版)

  • 多媒体的基本特征是什么(多媒体的基本特征是指信息载体的)

    多媒体的基本特征是什么(多媒体的基本特征是指信息载体的)

  • 手机充电一定要充满才能拔吗(手机充电一定要100%吗)

    手机充电一定要充满才能拔吗(手机充电一定要100%吗)

  • qq怎么发送整个文件夹(qq怎么发送整个文件夹不解压)

    qq怎么发送整个文件夹(qq怎么发送整个文件夹不解压)

  • 手机有必要用内存卡吗(手机有必要内存扩容吗)

    手机有必要用内存卡吗(手机有必要内存扩容吗)

  • vivox23有微信美颜效果吗(vivox23有微信美颜功能吗)

    vivox23有微信美颜效果吗(vivox23有微信美颜功能吗)

  • 雷军提出了小米铁人三项运动的业务架构包括(雷军做小米的决策)

    雷军提出了小米铁人三项运动的业务架构包括(雷军做小米的决策)

  • 手持身份证怎么拍清楚(手持身份证怎么拿)

    手持身份证怎么拍清楚(手持身份证怎么拿)

  • 新买vivo手机如何充电(新买的vivo)

    新买vivo手机如何充电(新买的vivo)

  • 苹果xr支持nfc吗(苹果xr是否支持nfc)

    苹果xr支持nfc吗(苹果xr是否支持nfc)

  • 苹果蓝牙耳机怎么辨别真假(苹果蓝牙耳机怎么看电量)

    苹果蓝牙耳机怎么辨别真假(苹果蓝牙耳机怎么看电量)

  • vivos1人脸识别在哪(vivos1人脸识别在哪设置)

    vivos1人脸识别在哪(vivos1人脸识别在哪设置)

  • 官方自带YOLOv5的半自动标注方法(yolov5 ios)

    官方自带YOLOv5的半自动标注方法(yolov5 ios)

  • java中ArrayList集合的扩容机制(java arraytolist)

    java中ArrayList集合的扩容机制(java arraytolist)

  • 没有发票就不能入账吗
  • 税务会计的工作内容和心得
  • 外籍人员可以在中国工作吗
  • 苗圃公司会计分录
  • 小规模企业能否抵扣
  • 购买债券的利息会计分录
  • 独立核算自负盈亏和统负盈亏怎么选
  • 转让企业全部产权属于增值税征税范围。A对B错
  • 结转入库材料计划成本的会计分录例题
  • 红字发票科目入进项税额还是进项税额转出
  • 外贸业务收境外人民币
  • 转让土地使用权一般计税方法
  • 免税和不免税的价格区别
  • 个人租车所得交什么税
  • 股息率炒股
  • 销售款的印花税是按含税还是不含税价款申报?
  • 合并财务报表的特点
  • 减免税款交企业所得税吗
  • 关联方交易的税怎么算
  • 五月份开的发票但是七月冲红了七月增值税怎么报
  • 企业押金怎么管理
  • 微软输入法打不出汉字只有拼音
  • 开出去的发票没有进项发票应怎么核算成本?
  • 主营业务收入的计算公式
  • 经销商计提折扣怎么算
  • php中cookie的值存储在哪
  • Program Files(x86)是什么意思
  • 现金解款单的使用范围
  • 查看chrome浏览器内核版本
  • 若依框架好用吗
  • 前端生成pdf文件
  • 孕妇钙片什么时候吃最好吸收? 已解决
  • 房屋装修固定资产置换
  • 简单描述php中的数组
  • vscode搭建vue项目
  • 注册资本增加了怎么做账
  • 库存亏损要缴纳增值税吗
  • 教育费附加减免政策
  • 商贸公司库存商品有哪些
  • 劳务派遣申报表附表一怎么填
  • 餐厅场租费可以开发票吗
  • 13个点的普票可以抵税吗
  • sql server 2008设置角色
  • 供热管道属于什么结构类型
  • 销售价格含税的会计分录
  • 劳务工资缴税标准
  • 关联债资比例是什么意思
  • 工会经费通过应交税费科目核算吗
  • mysql分页优化原理
  • 公司销售不动产增值税
  • 同一控制下合并冲减资本公积
  • 暂估成本账务处理
  • 其他应付款借方余额怎么调整
  • 残保金账务处理会计科目
  • 物业公司收的停车费做什么科目
  • 承兑汇票利息分录
  • 财务费用在贷方表示增加还是减少
  • 免税收入计入起征点吗
  • 固定资产损失计入什么科目
  • sql server 将数字转换成日期
  • linux中find命令基本使用方法
  • centos6可用yum源
  • win7更新8007000e
  • Win10 Mobile 10586.107怎么更新?Lumia950/XL/550可升级
  • linux查看目录的权限的命令
  • unity3d怎么查看
  • unityprefab
  • js页面点击怎么随机生成图片
  • android.net.wifi
  • js中弹出对话框
  • Java之CyclicBarrier使用
  • android ui自动化测试
  • 增值税0申报操作流程
  • 异地车如何查车主信息
  • 税控盘离线开票时间怎么查
  • 交警认可的客货两用车型
  • 浙江税务局网络发票页无法打字
  • 公积金个人网上开户流程
  • 如何查询公司是一般纳税人还是小规模纳税人
  • 体育局和什么局合并了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号