2012-03-05 114 views
1

我有一个管理面板(我正在创建)和一个URL列表。我想创建脚本,可以检查,看看目前的网址是否正在工作或进入404页面。这可能吗?Jquery - 检查页面是否存在

+1

http://stackoverflow.com/questions/3922989/how-to-check-if-page-exists-using-javascript? – fcalderan 2012-03-05 13:32:43

+0

看到[这里](http://stackoverflow.com/questions/4282151/how-can-i-ping-a-server-from-javascript) – 2012-03-05 13:34:21

+0

@FabrizioCalderan你给的链接有坏的解决方案,这是不相关的问题在这里(仅限404)。 – 2012-03-05 13:35:23

回答

4

你可以这样做:

<a href="/somelink" id="test1">Link1</a> <span id="result1"></span> 
$.ajax($("#test1").attr("href"), { 
    statusCode: { 
    404: function() { 
     $("#result1").html("not working"); 
    }, 
    200: function() { 
     $("#result1").html("working"); 
    } 
    } 
}); 
3

试试这个:(假设页面是在同一个域)

$.ajax(
    { 
     type: "get", 
     url: 'page.aspx', 
     cache: false, 
     statusCode: { 
        404: function() 
         { 
          alert('page not found'); 
         } 
        }, 
     async: true 
    }); 
1

Ajax调用获取/头只会工作,如果URL检查属于同一个网站。 如果您尝试检查属于某个其他网站的网址,则会收到跨网站引用错误。

在这种情况下,您需要在服务器端进行检查。 创建一个ajax调用服务器端方法。在服务器端,为url创建HttpRequest并检查它的HttpResponse并回复到ajax调用。