利用JS向服务端发送请求,并且响应请求,分3要点
1.向后端处理页面发送请求
function input() {
var req = new HttpRequest();
//设置传送方式 请求处理页 是否异步处理 默认为true异步
req.open(\"POST\",\"workload/SetWorkloadServlet\");
req.setRequestHeader(\"Content-type\",
\"application/x-www-form-urlencoded\");
//传送数据
var data = \"ktbj=\" + document.getElementById(\"selClassKt\").value
+ \"&kcmc=\" + document.getElementById(\"selCourseKt\").value
+ \"&zxs=\" + document.getElementById(\"zxs\").value
+ \"&realname=\" + document.getElementById(\"realname\").value;
//发送请求
req.send(data);
//监听状态 调用回调函数
req. = callBack;
}
2.监听响应 处理响应
function callBack() = {
if (req.readyState === 4) {
if (req.status === 200) {
//接收数据
var dataStr = req.responseText;
//分割数据
var str = dataStr.split(\"&\");
var myTable = document.getElementById(\"table1\");//获取table
var newTr = myTable.insertRow(); //table插入新的tr
/* document.getElementById(\"result\").innerHTML = str[0]; */
for(var i=0;i<str.length;i++){
var newTd = document.createElement(\"td\");//新建td
newTd.innerHTML = str[i];//td添加数据
newTd.setAttribute(\"align\",\"center\");//设置属性
newTr.appendChild(newTd);//tr追加td
}
var newTd = document.createElement(\"td\");
newTd.innerHTML=\"删除\";
newTr.appendChild(newTd);
} else {
//提示错误状态码
alert(\"发生错误:\" + req.status);
}
}
}
3.ajax的阶段性参数readyState的含义
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
4.Servlet处理代码
request.setCharacterEncoding(\"utf-8\");
response.setCharacterEncoding(\"utf-8\");
//设置数据类型返回数据类型
response.setContentType(\"text/plain\");
//设置禁用缓存
response.setHeader(\"Cache-control\",\"no-cache”);
响应数据的格式由Servlet设置ContentType决定:
text/
text/html html
text/plain 文本
application/json json
继续阅读与本文标签相同的文章
-
elasticsearc使用指南之ES管道聚合(Pipeline Aggregation)
2026-05-19栏目: 教程
-
别再吐槽地铁拥堵,线网规划现在由你大展身手
2026-05-19栏目: 教程
-
Elasticsearch Index Setting一览表
2026-05-19栏目: 教程
-
Java后端面经总结:拿下蚂蚁金服美团头条 offer 秘诀
2026-05-19栏目: 教程
-
Elasticsearch Index Aliases详解
2026-05-19栏目: 教程
