在重定向到WordPress页面之前,使用JavaScript测试是否存在WordPress页面

时间:2012-08-31 14:50:44

标签: javascript html wordpress web-applications redirect

我的链接如下:

 http://localhost:8081/wordpress/?p=535

如何使用JavaScript重定向到此页面?我不熟悉?语法,但我觉得我应该能够发送一些带有帖子ID的请求吗?

类似的东西:

redirect("p="+postid);

只是呼叫window.Location对我不起作用,因为如果帖子不存在,那么我希望能够做其他事情。另外,我不希望它直接发送给本地主机。它需要指向网站的根目录......

更像这样:

if (request("p="+postid) exists) {
    redirect("p="+postid);
}

5 个答案:

答案 0 :(得分:9)

document.location.href = "http://localhost:8081/wordpress/?p=535";

如果您想先检查页面是否存在,可以这样做:

var addr = "/wordpress/?p=535"; // here with a relative url
$.ajax({
    type: 'HEAD',
    url: addr,
    success: function() {
        document.location.href = addr;
    }
});

这将发出一个HEAD请求(因此没有内容下载)来检查页面是否存在,只有当它正常时才更改当前位置。

请注意,如果需要,可以在没有jQuery的情况下执行此操作,如果需要,我可以让您确定确切的语法。

但是,只有当两个页面来自同一个域时,这才有效。

答案 1 :(得分:2)

window.location.href = "http://localhost:8081/wordpress/?p=535";

答案 2 :(得分:1)

window.location = "http://localhost:8081/wordpress/?p=535";

更新: - 评论后 虽然这不是应该使用的技巧,但可以是 尝试向网址发送ajax请求,如果成功则返回一些内容重定向,如果有404错误则执行其他操作。

答案 3 :(得分:0)

您可以将变量帖子ID添加到以下位置:

var postID = 535;
window.location = "http://localhost:8081/wordpress/?p="+postID;

既然您已经更新了问题,我认为很明显这不是JavaScript的工作。如果你想检查页面是否存在,你应该在服务器端进行检查,因为只有服务器端代码才能访问你的数据库,它可以检查特定的帖子ID是否真的存在。

你当然可以编写一些JavaScript关闭的AJAX界面并查询服务器端代码以查看帖子是否存在,然后你会得到你的回答并相应地采取行动 - 但是这个问题似乎真的过于复杂。

答案 4 :(得分:0)

要将用户发送到其他网址,请使用

window.location.href = 'http://localhost:8081/wordpress/?p=535'

“?”之后的东西是URL的一部分,旨在由服务器端程序处理。