Javascript 具有多个参数的XMLHttpRequest
在我一直在使用的web应用程序中,我使用xmlhttprequests将单个参数传递给Java servlet,如下所示:Javascript 具有多个参数的XMLHttpRequest,javascript,java,servlets,xmlhttprequest,Javascript,Java,Servlets,Xmlhttprequest,在我一直在使用的web应用程序中,我使用xmlhttprequests将单个参数传递给Java servlet,如下所示: var xhr = new XMLHttpRequest(); xhr.open('GET', 'DCC?command=' + encodeURIComponent(command), true); xhr.send(null); 问题是,我仍然不能真正理解语法,现在我需要对多个参数做一些类似的事情。这是如何做到的?在上面的示例中,您传递的URL是: 'DCC?comm
var xhr = new XMLHttpRequest();
xhr.open('GET', 'DCC?command=' + encodeURIComponent(command), true);
xhr.send(null);
问题是,我仍然不能真正理解语法,现在我需要对多个参数做一些类似的事情。这是如何做到的?在上面的示例中,您传递的URL是:
'DCC?command=' + encodeURIComponent(command)
DCC
部分实际上是网页路径的一部分。它很短,因为它是一条相对路径。完全限定路径类似于www.sitename.com/DCC之后的部分(在
?
字符之后)称为查询字符串。这是URL中包含要传递给服务器的数据的部分(在GET事务中),它遵循以下模式:
a=somevalue&b=anothervalue&c=yetanother
因此,在该字符串中添加“&varnameA=valueA”,以传递命令和varnameA
:
xhr.open('GET', 'DCC?command=' + encodeURIComponent(command)+"&varnameA=valueA",true);
您可以继续添加&varname=value字符串,直到查询长度达到2000个字符左右,因为URL太长,浏览器通常会在这一点上开始出错。
记住对值中的任何特殊字符进行编码(这就是encodeURIComponent()
的用途),否则会出现一些奇怪的行为。这意味着您要为要传递给服务器的每个附加变量/值对追加类似+“&varnameA=“+encodeURIComponent(“valueA”)
。
语法为:
xhr.open(“GET”,url,true);
在Url中,您可以通过添加“&”简单答案来传递多个参数:
var url="index.php"+"?command="+cmd;
xhr.open("GET",url,true);
您可以添加更多参数,只需添加一个?每个变量名前面。您可以在发送调用中发送参数
var xhr = new XMLHttpRequest();
xhr.open('GET', 'DCC', true);
xhr.send(JSON.stringify(parameters));
在java端,使用InputStreamReader
读取请求并反序列化对象。我相信您的意思是&
,是吗?而且你仍然想进行URI编码。