带有多个参数的XMLHttpRequest

时间:2016-04-01 17:19:33

标签: javascript java servlets xmlhttprequest

在我一直在工作的网络应用上,我一直在使用xmlhttprequests将单个参数传递给Java servlet,如下所示:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'DCC?command=' + encodeURIComponent(command), true);
xhr.send(null);

问题是,我仍然不能理解语法,现在我需要用多个参数做类似的事情。这是怎么做到的?

4 个答案:

答案 0 :(得分:0)

您在上面示例中传递的网址是:

'DCC?command=' + encodeURIComponent(command)

DCC部分实际上是网页路径的一部分。它很短,因为它是一条相对路径。完全合格的路径看起来像www.sitename.com/DCC
之后的部分(在?字符之后)称为查询字符串。这是包含您传递给服务器的数据的URL的一部分(在GET事务中),它遵循以下模式:

a=somevalue&b=anothervalue&c=yetanother

所以在该字符串中添加“& varnameA = valueA”以传递commandvarnameA

xhr.open('GET', 'DCC?command=' + encodeURIComponent(command)+"&varnameA=valueA",true);

您可以继续使用& varname = value字符串,直到您的查询大约为2000个字符,因为浏览器通常会因为URL太长而开始破解。 请记住对值中的任何特殊字符进行编码(即encodeURIComponent()正在使用的那个),否则您将获得一些奇怪的行为。这意味着您要为要传递给服务器的每个其他变量/值对附加+"&varnameA="+encodeURIComponent("valueA")之类的内容。

答案 1 :(得分:0)

语法是: xhr.open(“GET”,url,true); 在Url中,您可以通过附加“&”

来传递多个参数

答案 2 :(得分:0)

简单回答:

null

你可以添加更多参数,你只需要添加一个?每个变量名称的前面。

答案 3 :(得分:0)

您可以在发送呼叫中发送参数。

var xhr = new XMLHttpRequest();
xhr.open('GET', 'DCC', true);
xhr.send(JSON.stringify(parameters));
java端的

使用InputStreamReader来读取请求并反序列化对象。