博客
关于我
夜光带你走进 Ajax(三)
阅读量:281 次
发布时间:2019-03-01

本文共 1536 字,大约阅读时间需要 5 分钟。

夜光序言:

 

只要没答应那就不算失言了

 

正文:2 AJAX第二例(发送POST请求)

2.1 发送POST请求注意事项

 

POST请求必须设置ContentType请求头的值为application/x-www.form-encoded。表单的enctype默认值就是为application/x-www.form-encoded

因为默认值就是这个,所以大家可能会忽略这个值

 

当设置了<form>的enctype=” application/x-www.form-encoded”时,等同与设置了Cotnent-Type请求头。

但在使用AJAX发送请求时,就没有默认值了,这需要我们自己来设置请求头:

xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

 

当没有设置Content-Type请求头为application/x-www-form-urlencoded时,Web容器会忽略请求体的内容。

 

所以,在使用AJAX发送POST请求时,需要设置这一请求头,然后使用send()方法来设置请求体内容。

xmlHttp.send("b=B");

 

这时Servlet就可以获取到这个参数

 

AServlet

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

System.out.println(request.getParameter("b"));

System.out.println("Genius:Hello AJAX~~");

response.getWriter().print("Hello AJAX");

}

 

ajax2.jsp

<script type="text/javascript">

function createXMLHttpRequest() {

try {

return new XMLHttpRequest();//大多数浏览器

} catch (e) {

try {

return new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

return new ActiveXObject("Microsoft.XMLHTTP");

}

}

}

 

function send() {

var xmlHttp = createXMLHttpRequest();

xmlHttp.onreadystatechange = function() {

if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {

var div = document.getElementById("div1");

div.innerHTML = xmlHttp.responseText;

}

};

xmlHttp.open("POST", "/ajaxdemo1/AServlet?a=A", true);

xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xmlHttp.send("b=B");

}

</script>

<h1>AJAX2</h1>

<button onclick="send()">夜光:测试</button>

<div id="div1"></div>

转载地址:http://htbo.baihongyu.com/

你可能感兴趣的文章
mt-datetime-picker type="date" 时间格式 bug
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
Mtab书签导航程序 LinkStore/getIcon SQL注入漏洞复现
查看>>
myeclipse配置springmvc教程
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>
MySQL
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>
MTTR、MTBF、MTTF的大白话理解
查看>>
mt_rand
查看>>