如果URL's链接返回错误
Disable HTML link if the URL's link returns an error
我有一个链接到另一个页面的按钮。在单击该链接之前,我想检查该页面当前是否返回错误或是否不存在。我如何对此进行编码?这可能吗?如果链接不存在或返回错误,我想禁用它。
您可以使用ajax加载页面,然后在重定向用户之前对其进行解析以查看是否存在错误。我还想向用户说明为什么链接不起作用。
请注意,我会在服务器端执行此操作。然而,由于您的标签与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');
正如有人所问,您使用的服务器端编程语言是什么(如果有的话)?
在这里查看答案:如何使用Javascript/Ajax而不使用jQuery获取远程url的状态代码?。和这个问题一样,答案涵盖了所有的基础。
Ajax在点击每个请求时,即使它是HEAD请求(这通常应该用来测试url的存在,因为这就是为什么HTTP动词首先存在的原因),我觉得这是一个非常糟糕的主意,即使你可以克服可能无法克服的跨域问题(除非你涉及到Ajax调用的某种服务器端检查)。现在,我想你可能可以在某个地方保存响应,这样链接就不会被重新检查(在客户端或服务器端),但这仍然让我觉得是一个非常复杂的解决方案,通常不需要解决。
相关文章:
- 可以链接 '.then() 的返回响应,顺序与 '.then()' 的顺序不同
- 如何点击标题中的链接,然后返回HTML、Javascript和CSS
- 如果URL's链接返回错误
- 需要一个链接才能转到某个页面,然后快速返回到当前页面
- 如何将html表单与php链接,以便在例如单击按钮时返回true
- 当我从目的地链接返回时,如何在列表组中保持该位置
- 内部链接返回空错误,我在 Javascript 中找不到错误.外部链接工作得很好
- JQuery 打开弹出窗口并从单击的链接返回值
- 链接返回承诺数组的函数
- 使用JQuery防止链接返回false
- 如何从同一个链接返回不同的数据(带有图像扩展)
- Cordova:从外部链接返回时页面为空
- 方法链接返回未定义
- 通过Javascript SDK共享Facebook链接返回错误500
- 允许在内部单击链接返回 false
- 通过链接返回doPostBack的可能方式
- 链接返回对象Javascript
- 如何在nodejs中使用ioredis链接返回
- 从所单击的链接返回值时出现问题
- 如何链接返回承诺或价值的函数