如何使用Ajax(XMLHttpRequest)发送带参数的请求,以及如何在Servlet中获取请求中的参数

其实这样设计的初衷是为了在客户端发出请求前,对要发送的数据进行预处理。比如用户密码的加密操作等等。

var xmlhttp;//设置全局变量

function login() {
        //这里为了简化代码,没有附上密码加密的代码
	var params = "username=" + document.getElementById("username").value
			+ "&password=" + document.getElementById("password").value;
	sendRequest(
			"POST",
			"login",
			true,
			params,
			function() {
				if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
					document.getElementById("message").innerHTML = xmlhttp.responseText;
				}
			});
}

function sendRequest(method, url, isAsyns, params, action) {
	if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp = new XMLHttpRequest();
	} else {// code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.open(method, url, isAsyns);
	xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");//这行代码很关键,用来把字符串类型的参数序列化成Form Data
	xmlhttp.send(params);
	xmlhttp.onreadystatechange = action;
}

public void doPost(HttpServletRequest request, HttpServletResponse response) {
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		......
	}


  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值