电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

AJAX亂碼與異步同步以及封裝jQuery庫實現步驟詳解

瀏覽:142日期:2022-06-11 18:59:03
目錄
  • 1、AJAX亂碼問題
  • 2、AJAX的異步與同步
  • 3、AJAX代碼封裝
  • 4、手動封裝一個jQuery庫

1、AJAX亂碼問題

(1)發送ajax get 或者 ajax post請求時下面兩種情況?

①發送數據到服務器,服務器獲取的數據是否亂碼?

②服務器響應給前端的中文,會不會亂碼?

(2)以Tomcat9為例:

①前端代碼:填數據,發送到服務器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>測試AJAX亂碼問題</title>
</head>
<body>
<script type="text/javascript">
    window.onload = function(){
// -----------------------------------------------ajax get
document.getElementById("btn1").onclick = function(){
    // 創建對象
    var xhr = new XMLHttpRequest();
    // 注冊回調函數
    xhr.onreadystatechange = function (){
if (this.readyState == 4) {
    if (this.status == 200) {
document.getElementById("mydiv").innerHTML = this.responseText
    }
}
    }
    // 打開通道
    var username = document.getElementById("username").value
    xhr.open("GET", "/ajax/ajaxrequest7?username="+username+"&t=" + new Date().getTime(), true)
    // 發送請求
    xhr.send()
}
// -----------------------------------------------ajax post
document.getElementById("btn2").onclick = function(){
    // 創建對象
    var xhr = new XMLHttpRequest();
    // 注冊回調函數
    xhr.onreadystatechange = function (){
if (this.readyState == 4) {
    if (this.status == 200) {
document.getElementById("mydiv").innerHTML = this.responseText
    }
}
    }
    // 打開通道
    xhr.open("POST", "/ajax/ajaxrequest7", true)
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
    var username = document.getElementById("username").value
    // 發送請求
    xhr.send("username=" + username)
}
    }
</script>
<input type="text" id="username"><br>
<button id="btn1">發送ajax get請求,測試亂碼問題</button><br>
<button id="btn2">發送ajax post請求,測試亂碼問題</button><br>
<div id="mydiv"></div>
</body>
</html>

②后端代碼:先獲取數據,然后在把數據響應給服務器

package com.bjpowernode.javaweb.ajax;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
 * @program: 代碼
 * @ClassName: AjaxRequest7Servlet
 * @version: 1.0
 * @description: 測試ajax亂碼問題
 **/
@WebServlet("/ajaxrequest7")
public class AjaxRequest7Servlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
// 接收的中文會不會亂碼----不會
String username = request.getParameter("username");
System.out.println(username);
// 響應中文會有亂碼嗎?----會
 response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print(username);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
// 接收的中文會不會亂碼----會
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
System.out.println(username);
// 響應中文會有亂碼嗎?---會
 response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print(username);
    }
}

(3)測試結果:

對于tomcat10來說,關于字符集,我們程序員不需要干涉,不會出現亂碼。

對于tomcat9和之前的版本來說:

①對于GET請求:接收前端的數據輸出到控制臺不會亂碼;把接收到的數據重新發給瀏覽器,輸出打印到瀏覽器會亂碼!

②對于POST請求:接收前端的數據輸出到控制臺和把接收到的數據重新發給瀏覽器進行輸出兩者都會亂碼!

標簽: Ajax
主站蜘蛛池模板: 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 紧急泄压人孔_防爆阻火器_阻火呼吸阀[河北宏泽石化] | 糖衣机,除尘式糖衣机,全自动糖衣机,泰州市长江制药机械有限公司 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 黄石东方妇产医院_黄石妇科医院哪家好_黄石无痛人流医院 | 油漆辅料厂家_阴阳脚线_艺术漆厂家_内外墙涂料施工_乳胶漆专用防霉腻子粉_轻质粉刷石膏-魔法涂涂 | 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 | 冲击式破碎机-冲击式制砂机-移动碎石机厂家_青州市富康机械有限公司 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 【北京写字楼出租_写字楼租赁_办公室出租网/出售】-远行地产官网 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 电地暖-电采暖-发热膜-石墨烯电热膜品牌加盟-暖季地暖厂家 | 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 金属抛光机-磁悬浮抛光机-磁力研磨机-磁力清洗机 - 苏州冠古科技 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 挨踢网-大家的导航! | 车辆定位管理系统_汽车GPS系统_车载北斗系统 - 朗致物联 | 天命文免费算命堂_自助算命_自由算命系统_长文周易 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 济南轻型钢结构/济南铁艺护栏/济南铁艺大门-济南燕翔铁艺制品有限公司 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 电线电缆厂家|沈阳电缆厂|电线厂|沈阳英联塑力线缆有限公司 | 锂离子电池厂家-山东中信迪生电源| 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 海德莱电力(HYDELEY)-无功补偿元器件生产厂家-二十年专业从事电力电容器 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 |