2016-04-01 2 views
0

На веб-приложение, я работаю, я использую XMLHttpRequests передать отдельных параметров в Java сервлеты следующим образом:XMLHttpRequest с несколькими параметрами

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

Проблема заключается в том, я до сих пор не очень понять синтаксис, и теперь мне нужно сделать что-то подобное с несколькими параметрами. Как это делается?

ответ

0

URL, вы передаете в приведенном выше примере:

'DCC?command=' + encodeURIComponent(command) 

DCC часть фактически является частью пути к веб-странице. Это коротко, потому что это относительный путь. Полностью пройденный путь будет выглядеть примерно так: www.sitename.com/DCC
Часть после этого (после символа ?) называется строкой запроса. Это та часть URL, который содержит данные, которые вы передаете на сервер (в транзакции GET), и это следует этой схеме:

a=somevalue&b=anothervalue&c=yetanother 

Так добавить «& varnameA = значение а» в этой строке, чтобы перейти как command и varnameA:

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

Вы можете оставить лавируя на строки & VarName = значение, пока ваш запрос не будет около 2000 символов, потому что там браузеры обычно начинают crapping вне потому что URL слишком длинный.
Помните, чтобы кодировать любые специальные символы в значениях (это то, что используется encodeURIComponent()), или вы получите какое-то странное поведение. Это означает, что вы добавляете что-то вроде +"&varnameA="+encodeURIComponent("valueA") для каждой дополнительной пары переменных/значений, которую вы хотите передать на сервер.

+0

Спасибо. Это сработало. – Cailean

0

Синтаксис: xhr.open ("GET", url, true); в Url вы можете передать multitple параметр путем добавления «&»

0

Простой ответ:

var url="index.php"+"?command="+cmd; 
xhr.open("GET",url,true); 

Вы можете добавить дополнительные параметры, вам нужно только добавить? infront каждого имени переменной.

0

Вы можете отправить параметры в режиме отправки.

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

в конце концов Java использовать InputStreamReader прочесть запрос и десериализации объекта.

+0

Этот способ менее подвержен ошибкам. – PedroSouki

Смежные вопросы