我正在尝试使用jQuery来检查URL是否可用。我使用下面的Javascript代码来验证这一点,但它仅适用于HTTP URL。如果URL是HTTPS,则失败,我收到错误alert
。
var backendUrl = "https://myserver:8081/app/test.jsp";
$.ajax({
type: "GET",
url: backendUrl
}).done(function (result) {
console.log("working");
window.location.href = backendUrl;
}).fail(function () {
alert(Sorry URL is not access able");
});
有人可以告诉我一个理由和一些更准确的方法来检查网址是否可用,使用javascript。
答案 0 :(得分:3)
这是我用来检查网址是否存在的内容:
function UrlExists(url, cb){
jQuery.ajax({
url: url,
dataType: 'text',
type: 'GET',
complete: function(xhr){
if(typeof cb === 'function')
cb.apply(this, [xhr.status]);
}
});
}
UrlExists('-- Insert Url Here --', function(status) {
if(status === 200) {
-- Execute code if successful --
} else if(status === 404) {
-- Execute code if not successful --
}else{
-- Execute code if status doesn't match above --
}
});
有许多状态代码,因此您可以将404更改为您要匹配的任何代码,或者只是将您想要执行的代码放在最后一个其他情况下,如果状态与任何状态不匹配,则代码将执行请求的状态代码。
答案 1 :(得分:0)
你不能只使用相对路径吗?
例如app / test.jsp - https://myserver:8081/app/test.jsp
var backendUrl = "app/test.jsp";
$.ajax({
type: "GET",
url: backendUrl
}).done(function (result) {
console.log("working");
window.location.href = backendUrl;
}).fail(function () {
alert("Sorry URL is not access able");
});
如果您在本地环境中运行,则不太可能安装SSL。