我的链接如下:
http://localhost:8081/wordpress/?p=535
如何使用JavaScript重定向到此页面?我不熟悉?
语法,但我觉得我应该能够发送一些带有帖子ID的请求吗?
类似的东西:
redirect("p="+postid);
只是呼叫window.Location
对我不起作用,因为如果帖子不存在,那么我希望能够做其他事情。另外,我不希望它直接发送给本地主机。它需要指向网站的根目录......
更像这样:
if (request("p="+postid) exists) {
redirect("p="+postid);
}
答案 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的一部分,旨在由服务器端程序处理。