位置: IT常识 - 正文

day35-JSON&Ajax03

编辑:rootadmin
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织梦模板栏目列表页文章标题设置推荐后的加粗(织梦前台的菜单怎么换)

  • 美的热水器服务电话24小时宝鸡(美的热水器服务电话24小时)(美的热水器服务中心)

    美的热水器服务电话24小时宝鸡(美的热水器服务电话24小时)(美的热水器服务中心)

  • txt乱码怎么解决

    txt乱码怎么解决

  • 手机服务器拒绝访问怎么解决(手机服务器拒绝接入网络)

    手机服务器拒绝访问怎么解决(手机服务器拒绝接入网络)

  • 苹果摄像头后压是什么意思(苹果摄像头后压5倍什么意思)

    苹果摄像头后压是什么意思(苹果摄像头后压5倍什么意思)

  • 蓝牙鼠标连上去动不了(蓝牙鼠标为什么连不上)

    蓝牙鼠标连上去动不了(蓝牙鼠标为什么连不上)

  • 微信里的视频号是什么意思(微信里的视频号在哪里打开)

    微信里的视频号是什么意思(微信里的视频号在哪里打开)

  • 声卡消原音是什么意思(声卡消原音功能有什么用)

    声卡消原音是什么意思(声卡消原音功能有什么用)

  • 苹果手机导出照片失败的原因(苹果手机导出照片软件)

    苹果手机导出照片失败的原因(苹果手机导出照片软件)

  • oppofindx2什么时候上市(oppofindx2大概什么时候降价)

    oppofindx2什么时候上市(oppofindx2大概什么时候降价)

  • 微信把群聊天记录删了,怎么找到群(微信把群聊天记录删了,为什么没有新信息了)

    微信把群聊天记录删了,怎么找到群(微信把群聊天记录删了,为什么没有新信息了)

  • 腾讯超级视频影视vip什么意思(腾讯超级视频影视vip可以看腾讯体育吗)

    腾讯超级视频影视vip什么意思(腾讯超级视频影视vip可以看腾讯体育吗)

  • 华为crrul20是叫什么(华为crr-cl20)

    华为crrul20是叫什么(华为crr-cl20)

  • 华为mate30是5g还是4g(华为mate30属于5g手机吗)

    华为mate30是5g还是4g(华为mate30属于5g手机吗)

  • 怎么删除文本占位符(怎么删除文本占用空间)

    怎么删除文本占位符(怎么删除文本占用空间)

  • vue视频添加字幕(vue自动生成字幕)

    vue视频添加字幕(vue自动生成字幕)

  • 快手出现已戳怎么取消(快手为什么会自动显示已戳)

    快手出现已戳怎么取消(快手为什么会自动显示已戳)

  • oppo手机怎么关机(oppo手机怎么关闭广告推送)

    oppo手机怎么关机(oppo手机怎么关闭广告推送)

  • 滴滴未成年不可独自乘车怎么取消(滴滴车未成年不能打车嘛)

    滴滴未成年不可独自乘车怎么取消(滴滴车未成年不能打车嘛)

  • 手机如何消音只留伴奏(怎么用手机消音)

    手机如何消音只留伴奏(怎么用手机消音)

  • 不可用余额冻结多少天(不可用余额冻结48小时以后会自动解冻吗)

    不可用余额冻结多少天(不可用余额冻结48小时以后会自动解冻吗)

  • 怎样拦截无主题短信(怎么拦截无主题的彩信)

    怎样拦截无主题短信(怎么拦截无主题的彩信)

  • vivoz3i返回键怎么调(vivoz3i返回键怎么隐藏)

    vivoz3i返回键怎么调(vivoz3i返回键怎么隐藏)

  • 用Python来统计本机CPU利用率(python进行统计分析)

    用Python来统计本机CPU利用率(python进行统计分析)

  • 劳务派遣公司差额征税的账务处理
  • 转让股份缴纳什么税
  • 注销银行帐户需要什么
  • 关税的征收对象是贸易性商品,不包括
  • 税法规定的增值税
  • 怎么确认债权
  • 以前年度损益调整在借方是什么意思
  • 暂估的应付账款无法开具发票在金蝶云星空怎么操作
  • 飞机票退票费如何记账
  • 增值税电子普通发票和增值税专用发票区别
  • 个体户未抄报不能领发票
  • 买车装具
  • 退税发票认证流程
  • 有营业执照有什么好处吗?
  • 销售货物没有开票如何处理
  • 外经证预缴附加税
  • 预付房租租金如何做账
  • 自用房产税如何计算
  • 税后扣税
  • 企业分期付款购车分录怎么写
  • 提前报废的固定资产怎么处理
  • 外汇收支申报流程
  • 开发商乱要回迁怎么投诉
  • 报废的周转物怎么处理?
  • 非应纳增值税项目
  • wordpress portfolio
  • linux管理员账户名
  • php auth_http类库进行身份效验
  • 房地产企业前期工程费包括什么项目
  • lcasensor是什么进程
  • 职工教育经费列支范围规定
  • token登录器
  • php 图片上传
  • php实现计算百度百科
  • swiper插件使用步骤
  • yii2框架的优缺点
  • 原生js获取document
  • ps打不了字只显示一个点怎么办
  • ps卸载没反应
  • 税务代开,开错了重开要多久?
  • 金蝶年底结账流程
  • 工会筹备金不缴可以吗
  • 企业盈利不交所得税的办法
  • 公司多余的钱叫什么
  • 公司优秀党员奖章
  • 企业所得税汇算表
  • 销售货款是什么
  • 职工薪酬纳税调整明细表税收金额
  • 老板买私人飞机可以避税吗
  • 高新技术企业认定条件
  • 这个营业外支出怎么算
  • 企业间借款利息最新规定
  • 税控盘开具发票怎么冲红?
  • 投资者投入无形资产的入账价值
  • 工程公司本月没发工资
  • 处置固定资产的增值税怎么处理
  • 离岸银行账户开户
  • 建筑业分包税收政策
  • ubuntu如何回到桌面
  • ubuntu20.04怎么安装
  • linux怎么用命令
  • freebsd怎么样
  • Win10 Mobile 14393.321终于修复Lumia636/638导航栏遮挡
  • winxp怎么设置启动项
  • mission controller
  • mac键盘图标与对应不匹配
  • ibm svc是什么意思
  • win8系统桌面图标怎么变小
  • cocos2d-js-min.js
  • OpenGl的glMatrixMode()函数理解
  • 游戏引擎有几种
  • unit uniform
  • 小说温故知新
  • 安卓底层重写
  • js显示word
  • 文件读写过程中,程序将直接与磁盘文件进行数据交换
  • html键盘监听
  • 深圳全电子发票开具流程
  • 武汉市国税局局长黄英简历
  • 公司小规模怎么纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设