我们在应用程序中使用struts 1.3。我们有如下所述的要求 -
登录页面有按钮。现在,
要检查URL可访问性,我使用的是XMLHttpRequest.responseText。以下是我的代码:
<html>
<head>
<title>Test html page</title>
<script type="text/javascript">
function checkURL()
{
var xmlHttp = null;
var theUrl = "http://www.googlewetuyyu.co.in";
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
alert(xmlHttp.responseText);
}
</script>
</head>
<body onload="checkURL();">
<b>Hello World!</b>
</body>
</html>
但我仍然没有在警报框中得到任何东西。
[我正在修改一下]
它实际上在IE中工作。但不是在使用chrome。请提出解决方案。
谢谢, Kartic
答案 0 :(得分:1)
使用HttpUrlConnection课程。它是getResponseCode(),如果返回2XX的值意味着你的PC上的url工作正常。
您也可以使用apache中的HttpComponents-HttpClient。 这是一个简短的片段,
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("url_to_check");
HttpResponse response = client.execute(httpGet);
您还可以将responseHandler附加到execute对象以简化操作。
答案 1 :(得分:1)
由于跨域AJAX请求因same origin policy而无法工作,我建议采取两种方式。
包含重写CSS文件
<link type="text/css" href="http://website.com/normal.css" />
<link type="text/css" href="http://otherwebsite.com/override.css" />
<div id="login" class="login">
<!-- Your button code -->
</div>
normal.css
.login
{
display: none;
}
override.css
#login
{
display: block;
}
如果客户端有权访问http://otherwebsite.com
,则样式将被覆盖,因为将加载CSS文件并且ID比类更重要。
图像加载测试
<img id="img" style="width: 0;height: 0;" src="http://otherdomain.com/smallimage.png" />
<script>
$("#img").load(function() { alert("image loaded correctly"); })
.error(function() { alert("error loading image"); });
</script>
答案 2 :(得分:0)
如果您在客户端运行小程序:
您可以使用URLConnection
类发送HTTP请求,如下所示:
String url = "http://www.mywebsite.com";
String query = "param1=value1";
URLConnection connection = new URL(url + "?" + query).openConnection();
connection.setRequestProperty("Accept-Charset", charset);
InputStream response = connection.getInputStream();
如果您是代理人,可以使用以下方式指定:
java -Dhttp.proxyHost=webcache.example.com -Dhttp.proxyPort=8080
如果您要发送HTTPS请求,请使用HttpsURLConnection。
如果您在浏览器中呈现HTML,请使用Javascript :
function httpGet(theUrl)
{
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}