Используйте IP-адрес, порт и доменное имя в URL в запросе ajax - PullRequest
1 голос
/ 02 мая 2011

Я хочу добавить IP-адрес, порт и имя домена в качестве параметра в URL в запросе ajax:

url = "AuthServlet?Host="+host+"&port="+port+"&Domain="+domain;
xmlhttp.open("POST", url, false);
xmlhttp.send(null);

Где хост - это IP-адрес.

Например:

  • host = 10.0.0.1
  • port = 7070
  • domain = xyz.com.

Когда мне так нравится, этот сервлет не вызывается.Как я могу вызвать сервлет и обработать запрос?

1 Ответ

1 голос
/ 02 мая 2011

Если вы хотите сделать запрос по какому-то отдельному адресу, вам нужно сформировать URL. Вот и весь смысл URL на самом деле. И вам нужно выбирать между вашим адресом хоста и вашим доменным именем - вы не можете иметь и то и другое.

Однако, даже если вы сделаете это, имейте в виду, что если полученный URL-адрес относится к домену, отличному от того, с которого была обработана ваша страница, он все равно не будет работать из-за правил безопасности браузера.

Если, с другой стороны, ваш «AuthServlet» просто ожидает параметры, то нет ничего плохого в том, что вы делаете, за исключением того, что значения параметров должны быть закодированы:

var url = "AuthServlet?Host=" + encodeURIComponent(host) + 
  "&port=" + encodeURIComponent(port) +
  "&Domain=" + encodeURIComponent(domain);

( edit & mdash; исправлены фиктивные ссылки на несуществующую подпрограмму escapeURIComponent: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...