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

  • 红米手机桌面的时间和天气不见了怎么办(红米手机桌面的时间不见了)

    红米手机桌面的时间和天气不见了怎么办(红米手机桌面的时间不见了)

  • lan口ip地址怎么设置(lan口ip地址和wan口ip地址)

    lan口ip地址怎么设置(lan口ip地址和wan口ip地址)

  • 微信朋友圈关闭了别人看到是什么样(微信朋友圈关闭评论功能怎么弄得)

    微信朋友圈关闭了别人看到是什么样(微信朋友圈关闭评论功能怎么弄得)

  • 11pro怎么开启wifi6(11pro怎么开启nfc)

    11pro怎么开启wifi6(11pro怎么开启nfc)

  • 爱奇艺会员买了为什么没有(爱奇艺会员买了能退吗)

    爱奇艺会员买了为什么没有(爱奇艺会员买了能退吗)

  • 直接联系人黑名单是什么意思(直接联系人黑名单数量3个)

    直接联系人黑名单是什么意思(直接联系人黑名单数量3个)

  • 智行火车票和12306有什么区别(智行火车票和12306同一张票扣款)

    智行火车票和12306有什么区别(智行火车票和12306同一张票扣款)

  • 小米9为什么动不动黑屏(小米为什么动态壁纸无故消失)

    小米9为什么动不动黑屏(小米为什么动态壁纸无故消失)

  • 淘宝怎么下载到手机(淘宝怎么下载到手机桌面)

    淘宝怎么下载到手机(淘宝怎么下载到手机桌面)

  • app未完成付款什么意思(app付款显示未完成付款)

    app未完成付款什么意思(app付款显示未完成付款)

  • 苹果手机网络连接不上怎么回事(苹果手机网络连接正常但无法上网)

    苹果手机网络连接不上怎么回事(苹果手机网络连接正常但无法上网)

  • 中国电信hd图标什么意思(中国电信hd图标怎么取消掉)

    中国电信hd图标什么意思(中国电信hd图标怎么取消掉)

  • 脚注样式怎么设置(脚注样式设置)

    脚注样式怎么设置(脚注样式设置)

  • 手机流量1g等于多少mb(手机流量1g等于多少mb电信)

    手机流量1g等于多少mb(手机流量1g等于多少mb电信)

  • 3mp和5mp哪个更清楚(3mp和5mp哪个更清晰)

    3mp和5mp哪个更清楚(3mp和5mp哪个更清晰)

  • 苹果手表4测评(苹果手表测评s8 s7)

    苹果手表4测评(苹果手表测评s8 s7)

  • oppo电话号码怎么存进卡(oppo电话号码怎么拉出黑名单)

    oppo电话号码怎么存进卡(oppo电话号码怎么拉出黑名单)

  • 荣耀手环3怎么开机(荣耀手环3怎么连接小米手机)

    荣耀手环3怎么开机(荣耀手环3怎么连接小米手机)

  • 苹果手机怎么设置陌生号电话信息进不来(苹果手机怎么设置呼叫转移功能)

    苹果手机怎么设置陌生号电话信息进不来(苹果手机怎么设置呼叫转移功能)

  • vivox23和x27有什么区别(vivox27的区别)

    vivox23和x27有什么区别(vivox27的区别)

  • iphone11pro发售时间(苹果11pro发售)

    iphone11pro发售时间(苹果11pro发售)

  • 快手被拉黑了是不是看不到别人作品(快手被拉黑了是不是就关注不了对方了)

    快手被拉黑了是不是看不到别人作品(快手被拉黑了是不是就关注不了对方了)

  • 苹果xsmax双卡怎么插(苹果Xsmax双卡怎么关另一张的数据)

    苹果xsmax双卡怎么插(苹果Xsmax双卡怎么关另一张的数据)

  • Vue组件滚动加载、懒加载功能的实现,无限滚动加载组件实例演示(vue组件元素设置滚动条高度)

    Vue组件滚动加载、懒加载功能的实现,无限滚动加载组件实例演示(vue组件元素设置滚动条高度)

  • 报税日期是哪月哪天?
  • 销售使用过的汽车如何缴纳增值税
  • 小规模纳税人开具不动产发票税率
  • 企业不得将生产经营项目、场所
  • 给员工缴纳保险
  • 工程类一般纳税人可以开3%的税率吗
  • 增值税开票税额交税差额怎么入账
  • 母子公司之间转让土地使用权
  • 已认证未抵扣的进项税如何报税
  • 个体户进货需要发票吗?
  • 增值税进项税额转出的账务处理
  • 存货的损失计入什么科目
  • 利润表其他综合收益的税后净额怎么算
  • 房地产企业的非流动资产周转率在多少以上
  • 财务人员必备知识
  • 小规模应交税费有三级科目吗
  • 住房公积金相关文件
  • 专项资金单独核算的法律依据是什么
  • 简单制作教程
  • 怎么用winpe安装系统
  • 在建工程计提减值准备计入什么科目
  • 防伪税控服务费怎么交
  • php 函数作为参数
  • 利润表利息费用怎么填
  • postman操作流程
  • 租赁费用增值税率
  • 前端基础
  • 用友固定资产折旧方法
  • 促销赠品的会计处理
  • 报个税收入需要减去扣款金额吗
  • 织梦如何使用
  • 中国源码亲测网
  • Linux下MySQL数据库的主从同步复制配置
  • mongodb查询表数据
  • 外购固定资产入账
  • 筹建期间的费用计入什么费用
  • 让渡资产使用权属于收入吗
  • 住房公积金是怎么来的?
  • 2020年工资标准表
  • 事故赔偿金分配
  • 什么叫公关费用
  • 应付账款怎么处理
  • 增值税涉及的税目有哪些
  • 简易计税通过哪个科目核算
  • 研发支出怎么结转到管理费用
  • 主营业务成本暂估怎么算
  • 银行交党费属于什么业务
  • 资产类科目一般是什么
  • 房子装修费要交税吗
  • sql语句大全实例教程
  • centos 6.5下 mysql-community-server. 5.7.18-1.el6安装
  • win7系统安全在哪
  • windows8.1如何分区
  • windows10pc游戏无法全屏
  • 海尔笔记本最新款
  • CentOS(x86_64)下PHP安装memcache扩展问题解决方法分享
  • rds是啥
  • 雨林木风软件网
  • centos6.8修改主机名
  • win8.1自带usb3.0驱动吗
  • win8开始页面
  • 持久化存储数据的方式
  • opengl渲染流程图
  • 彻底弄懂js中的this指向
  • js确认框s弹出框确定和取消
  • unity3d怎么移动物体
  • android 开发 教程
  • python的爬虫模块
  • 如何用jquery
  • js中的substring
  • js对象的constructor
  • jquery的gt
  • python的基础代码
  • 下列关于javascript的叙述正确的有
  • 电子税务局申报表在哪里查询
  • 电子税务局季度利润表本月数
  • 营改增对医药企业影响
  • 组织收入原则是应收尽收坚决不收过头税费
  • A级纳税人和一般纳税人区别
  • 深圳各区海拔
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设