在ajax请求中使用url中的IP地址,端口和域名

时间:2011-05-02 12:19:41

标签: javascript ajax

我想在ajax请求的url中添加IP地址,端口和域名作为参数:

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。

当我这样做时,不会调用这个servlet。我怎样才能调用servlet和进程请求?

1 个答案:

答案 0 :(得分:1)

如果要将请求发送到某个不同的地址,则必须实际形成URL。这实际上就是URL的重点。您必须在主机地址和域名之间进行选择 - 您不能同时拥有这两者。

但是,即使您这样做,也要注意,如果生成的URL是针对与您的网页所在域不同的域,那么由于浏览器安全规则,它无论如何都无法正常工作。

另一方面,如果您的“AuthServlet”只是期望参数,那么除了应该对参数值进行编码之外,您所做的事情没有任何问题:

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

编辑 - 修复了对不存在的“escapeURIComponent”例程的虚假引用: - )