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

  • 安卓手机如何打开.exe文件(安卓手机如何打开zip文件)

    安卓手机如何打开.exe文件(安卓手机如何打开zip文件)

  • 苹果平板怎么隐藏应用(苹果平板怎么隐藏游戏并随时打开)

    苹果平板怎么隐藏应用(苹果平板怎么隐藏游戏并随时打开)

  • 夏普复印机出现f2-40(夏普复印机出现l4-03)

    夏普复印机出现f2-40(夏普复印机出现l4-03)

  • vivo勿扰模式闹钟会响吗(vivo 勿扰模式)

    vivo勿扰模式闹钟会响吗(vivo 勿扰模式)

  • 4g转5g要换卡吗(4g转5g需要换卡吗)

    4g转5g要换卡吗(4g转5g需要换卡吗)

  • 网线能接吗(网线能接吗,效果怎么样视频)

    网线能接吗(网线能接吗,效果怎么样视频)

  • 华为备忘录有回收站吗(华为备忘录回收)

    华为备忘录有回收站吗(华为备忘录回收)

  • 苹果锁屏手电筒怎么开(苹果锁屏手电筒长按没反应)

    苹果锁屏手电筒怎么开(苹果锁屏手电筒长按没反应)

  • 华为平板matepad pro可以用windows系统吗(华为平板matepadpro12.6英寸)

    华为平板matepad pro可以用windows系统吗(华为平板matepadpro12.6英寸)

  • 千兆自动变百兆原因(千兆网络变成百兆)

    千兆自动变百兆原因(千兆网络变成百兆)

  • htc手机中文叫什么(htc手机中文叫什么牌子)

    htc手机中文叫什么(htc手机中文叫什么牌子)

  • 淘宝评价错了怎么修改(淘宝评价错了怎么办)

    淘宝评价错了怎么修改(淘宝评价错了怎么办)

  • icloud怎么降级(icloud怎么降级到免费无法点完成)

    icloud怎么降级(icloud怎么降级到免费无法点完成)

  • vivou1哪年出的(vivoiqoou1上市价格)

    vivou1哪年出的(vivoiqoou1上市价格)

  • 手机安全模式怎么解除(手机安全模式怎么调回正常模式)

    手机安全模式怎么解除(手机安全模式怎么调回正常模式)

  • 苹果11是什么处理器(苹果11是什么处理器几核的)

    苹果11是什么处理器(苹果11是什么处理器几核的)

  • 耕升显卡为什么便宜(最新的显卡型号)

    耕升显卡为什么便宜(最新的显卡型号)

  • wordword编辑限制保护怎么办(world 限制编辑)

    wordword编辑限制保护怎么办(world 限制编辑)

  • 360压缩怎么压缩文件(360压缩怎么压缩到指定大小)

    360压缩怎么压缩文件(360压缩怎么压缩到指定大小)

  • 电脑系统还原按f几(电脑系统还原按不动了怎么办)

    电脑系统还原按f几(电脑系统还原按不动了怎么办)

  • ps怎么做剪影效果(ps怎么做出剪影的那种效果)

    ps怎么做剪影效果(ps怎么做出剪影的那种效果)

  • 携程如何开票(携程上如何开票)

    携程如何开票(携程上如何开票)

  • 芒果TV怎样开弹幕(芒果tv怎么弹屏)

    芒果TV怎样开弹幕(芒果tv怎么弹屏)

  • 如何设置进群需要同意(如何设置进群需要群主同意)

    如何设置进群需要同意(如何设置进群需要群主同意)

  • win10任务栏没有输入法图标(Win10任务栏没有wifi图标)

    win10任务栏没有输入法图标(Win10任务栏没有wifi图标)

  • discuz 发帖默认权限 模板修改方法(discuz发帖标签)

    discuz 发帖默认权限 模板修改方法(discuz发帖标签)

  • PHPCMS 如何备份网站?(index.php备份文件)

    PHPCMS 如何备份网站?(index.php备份文件)

  • 延期缴税申请需要先申报吗?
  • 税务罚款如何做会计分录
  • 公司每年网络费计入什么会计科目
  • 怎么算毛利润计算公式
  • 一季度季初从业人数
  • 小微企业一般要交什么费用2019
  • 公司筹建期间可以多久
  • 公司期货收入怎么交税
  • 租入固定资产改扩建
  • 新会计准则下长期股权投资的变化
  • 短期借款利息都需要测算什么
  • 公司员工出差发工资吗
  • 装修项目展示厅费用支出列什么科目?
  • 事业单位上级拨入资金属于什么科目
  • 固定资产已折旧完报废如何处理
  • 从联营企业分回利润可以在税前扣除吗
  • 电子发票开错怎么办
  • 广告制作税收编码怎么填
  • 小规模印花税减免性质代码和项目名称
  • 季度利润太高怎么计算
  • 2019年小规模纳税人免征增值税政策
  • 企业提供技术咨询服务的企税优惠政策
  • 关于防暑降温福利国家有哪些政策规定?
  • 红字信息表跨越可以撤销吗
  • 财政性资金是不含税的吗
  • 没有收到发票的费用怎么入账
  • mac电脑安装win10系统报错
  • 黄金入账怎么做会计分录
  • 产品分仓
  • 笔记本默认网关不可用怎么修复
  • 排污费应计入什么会计科
  • 办理不动产证需要什么手续及证件
  • sbdrvdet.exe - sbdrvdet是什么进程 有什么用
  • code ide
  • vue兼容性
  • php处理大量数据
  • 用java写一个helloworld
  • php获取mysql数据
  • php反射使用场景
  • php对象
  • Yii2中hasOne、hasMany及多对多关联查询的用法详解
  • nbtstat命令的用法
  • mysql常用命令行大全
  • shapecfg命令 管制网络设备的流量
  • 企业所得税预缴纳税申报表
  • 填制和审核会计凭证,可以监督各项经济业务的合法
  • 小规模纳税人企业所得税优惠政策最新2023
  • 研发人员的差旅费计入管理费用吗
  • 工程中标费用放哪个科目
  • 公司成立前的费用发票可以入账吗
  • 行政单位合并财务怎么办
  • 外贸采购的职责
  • 发出库存商品没有发票
  • 一般纳税人厂房租赁增值税税率是多少
  • 帮客户支付的机票计入什么科目
  • 财政性银行的资金来源是什么
  • 如何防止mysql数据库攻击
  • soft version
  • w10预览版新功能
  • 安装metpy
  • win7声卡怎么升级
  • win7桌面怎么设置到d盘
  • vsftp查看状态
  • 怎么调整桌面图标间距
  • 照相机文件名
  • win10右键菜单不显示
  • windows7使用
  • windows8.1如何安装
  • cocos2dx4.0教程
  • js插件大全
  • perl read
  • pull order
  • jqueryui draggable
  • android 轮播
  • 发票怎能打印
  • 垃圾填埋税率
  • 湖南国家电子税务局企业所得税申报进不去
  • 代扣国地税什么意思
  • 国家税务认证平台是什么
  • 余姚市税务局咨询热线
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设