如果URL的链接返回错误,请禁用HTML链接

时间:2012-08-17 21:24:57

标签: javascript jquery html

我有一个链接到另一个页面的按钮。在我单击该链接之前,我想检查该页面当前是否返回错误或是否存在错误。我该如何编码呢?这可能吗?如果链接不存在或者它返回错误,我想禁用该链接。

4 个答案:

答案 0 :(得分:3)

您可以使用ajax加载页面,然后解析它以查看是否存在错误,然后再重定向用户。我还会向用户提供一些关于链接无法正常工作的说明。

答案 1 :(得分:3)

请注意,我会在服务器端执行此操作。但是,由于您的标记与jquery相关,我发布了一个您可以尝试使用jquery的解决方案。

使用jquery你可以:

var link = $('#id_of_your_a_element');
$.ajax(
    url: link.attr('href'),
    error: function() { 
        link.hide();
    }
);

修改

正如ribot所说,此示例仅隐藏链接。如果要禁用它,可以在用户单击链接时阻止默认行为:

link.click(function(e) {
    e.preventDefault();
});

或者只是删除href属性:

link.removeAttr('href');

答案 2 :(得分:2)

正如有人问过,你正在使用的服务器端编程语言是什么?

在此处查看答案:How to get status code of remote url using Javascript/Ajax but NOT using jQuery?。同样的问题,答案涵盖所有基础。

答案 3 :(得分:1)

Ajax点击每个请求,即使它是HEAD请求(这通常是你应该用来测试url的存在,因为这就是为什么HTTP动词首先存在),只是让我感到非常糟糕的主意即使您可以克服可能无法克服的跨域问题(除非您涉及由ajax调用的某种服务器端检查)。现在,我想你可能能够在某个地方保存响应,以便不重新检查链接(在客户端或服务器端),但这仍然是一个令人难以置信的过于复杂的解决方案,通常不会解决问题需要解决。