3

私のリンクは次のようになります:

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

JavaScriptを使用してこのページにリダイレクトするにはどうすればよいですか?構文がよくわからないのです?が、投稿のIDでなんらかのリクエストを送信できるはずなのかと思います。

何かのようなもの:

redirect("p="+postid);

window.Location投稿が存在しない場合は、他のことをしたいので、電話をかけるだけではうまくいきません。また、ローカルホストに転送したくありません。それはウェブサイトのルートに向ける必要があります...

このように:

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

5 に答える 5

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を使用せずにこれを行うことができることに注意してください。必要に応じて、正確な構文を決定できます。

ただし、これは、両方のページが同じドメインからのものである場合にのみ機能します。

于 2012-08-31T14:51:57.657 に答える
2
window.location.href = "http://localhost:8081/wordpress/?p=535";
于 2012-08-31T14:52:16.027 に答える
1
window.location = "http://localhost:8081/wordpress/?p=535";

更新:-コメントの後、
これは使用する必要のあるトリックではありませんが
、URLにajaxリクエストを送信してみてください。成功した場合は、コンテンツリダイレクトが返され404ます。エラーが発生した場合は、別のことを行ってください。

于 2012-08-31T14:51:42.173 に答える
0

次のような場所に可変投稿IDを追加できます。

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

質問を更新したので、これがJavaScriptの仕事ではないことは明らかだと思います。ページが存在するかどうかを確認する場合は、サーバー側のコードのみがデータベースにアクセスでき、特定の投稿IDが実際に存在するかどうかを確認できるため、サーバー側で確認する必要があります。

もちろん、JavaScriptがオフになり、サーバー側のコードにクエリを実行して投稿が存在するかどうかを確認するAJAXインターフェイスをコーディングすると、回答が返され、それに応じて行動することができますが、それは本当にそうですこの問題は非常に複雑です。

于 2012-08-31T14:53:21.127 に答える
0

ユーザーを別のURLに送信するには、次を使用します

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

「?」の後のもの はURLの一部であり、サーバー側のプログラムによって処理されることを目的としています。

于 2012-08-31T14:54:35.527 に答える