微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax入门学习三小案例Demo2

(尊重劳动成果,转载请注明出处:http://www.jb51.cc/article/p-twwnzitq-cc.html冷血之心的博客

ajax入门学习(一)

ajax入门学习(二)小案例Demo1

AJAX第二例(发送POST请求)

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.java

public void doPost(HttpServletRequest request,HttpServletResponse response)
			throws servletexception,IOException {
		System.out.println(request.getParameter("b"));
		System.out.println("Hello AJAX!");
		response.getWriter().print("Hello AJAX!");
	}

ajax.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>

如果对你有帮助,记得点赞哦~欢迎大家关注我的博客,可以进群366533258一起交流学习哦~

原文地址:https://www.jb51.cc/ajax/161396.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐