1

我有一个带有简单 javascript 函数的 html 文件(下面的示例)来检查 URL 是否存在。然而,它只适用于一些现有的 URL(不是全部),它永远不会适用于不存在的 URL——似乎不会产生任何结果。我不知道出了什么问题。

-- tsf

<HTML><头>
<脚本>
功能存在(网址)
{
    var req = new XMLHttpRequest();
    req.open('HEAD',url,false);
    req.send();
    返回请求状态!= 404;
}
</脚本>
</头>
<身体>
<脚本>
如果(存在('http://stackoverflow.com/')){
    document.write('存在');
} 别的 {
    document.write('不存在');
}
</脚本>
</正文></HTML>
4

1 回答 1

1

您正面临“同源策略”问题。这个概念是为了保护您的网络浏览体验,使您访问的页面(即糟糕的 JavaScript)无法与未知服务器通信,例如它们不会侵犯您的隐私(无法窃取您的数据)。

解决您的问题的最简单方法:将逻辑移动到您的服务器(PHP、Ruby、Java 等等……)。让您的服务器执行 HTTP 请求并检查您需要什么。然后使用XMLHttpRequest()询问您的服务器正在运行相同的域和端口,所以不会出错。就这样。

于 2013-06-15T19:28:05.593 回答