几种方法:
- 使用
window.location
火的GET请求。请注意,它是同步的(因此客户端将看到当前页面正在更改)。window.location = "http://example.com/servlet?key=" + enpreURIComponent(key);
请注意,内置
enpreURIComponent()函数在传递请求参数之前对其进行编码的重要性。
- 用
form.submit()
火GET或POST请求。需要注意的是它是同步的。document.formname.key.value = key;
document.formname.submit();
用
<form name="formname" action="servlet" method="post"> <input type="hidden" name="key"></form>
或者,您也只能设置现有表单的隐藏字段,然后等待用户提交它。
- 用于
XMLHttpRequest#send()
在后台触发异步请求(也称为Ajax)。下面的示例将调用servletdoGet()
。var xhr = new XMLHttpRequest();
xhr.open(“GET”, "http://example.com/servlet?key=” + enpreURIComponent(key));
xhr.send(null);
下面的示例将调用servlet
doPost()。
var xhr = new XMLHttpRequest();xhr.open("POST", "http://example.com/servlet");xhr.setRequestHeader("Content-Type", "application/x-www-form-urlenpred");xhr.send("key=" + enpreURIComponent(key));- 使用jQuery发送跨
xhr
浏览器兼容的Ajax请求(以上代码仅在实际的浏览器中有效,为了实现MSIE兼容性,您将需要增加一些混乱;))。$.get("http://example.com/servlet", { "key": key });$.post("http://example.com/servlet", { "key": key });
请注意,jQuery本身已经透明地对请求参数进行了编码,因此您
enpreURIComponent()在这里不需要。
无论哪种方式,
key都只能
request.getParameter("key")在servlet中使用。


