0

私は Web 開発の勉強を始めており、練習として、javascript と PHP を使用して HTML でリダイレクトするためのフォームを作成しようとしていました。

HTML

<html>
<head>
<title>FORM</title>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="script.js" type="text/javascript"></script>
<form>
    <input type="text" name="url"><br>
    <input class="btn" type="button" id="send" value="Send" />
</form>
</body>
</html>

JavaScript

$(document).ready(function() {
$("#send").click(function(){
var url = $("#url").val();
$.ajax({
type: "POST",
url: "engine.php",
data: "url=" + url,
dataType: "html"
});

PHP

<?php
    session_start();

    $url        =   $_POST['url'];
        header("Location: /".$url.");

    session_destroy();
    exit;
?>

主な問題は、js が読み取られていないように見えることです。さらに、PHPが正しいかどうかもわかりません。どうしたの?

4

3 に答える 3

2

別の URL にリダイレクトする場合は、AJAX リクエストを行う必要はありません。また、現時点での方法では、とにかくリダイレ​​クトされません。

以下では、クリック関数が起動すると、入力フィールドから URL を取得し、そのページにリダイレクトします。

<html>
<head>
<title>FORM</title>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

    $(document).ready(function() {

        $("#form_name").submit(function(event){

            event.preventDefault();

            var url = $("#url").val();

            document.location.href = url;

        });

    })

</script>
<form id="form_name" name="form_name">
    <input type="text" name="url" id="url"><br>
    <input class="btn" type="submit" id="send" value="Send" />
</form>
</body>
</html>
于 2013-04-25T17:21:29.137 に答える
1

入力にIDを追加する必要があります

<input type="text" name="url" id="url"><br>

また、header() は ajax では機能しません

リダイレクトにはJavaScriptを使用する必要があります

PHPで

<?php
    session_start();

    $url        =   $_POST['url'];
    echo '<script>document.location.href = '.$url.'</script>';

    session_destroy();
    exit;
?>

ajax応答機能を使用して、エコーテキストをドキュメントに入れます

また、より良い方法を使用することもできます(Ajaxと送信フォームなし)

$(document).ready(function() {
$("#send").click(function(){
var url = $("#url").val();
window.location.href = url;
});

JavaScript/jQueryで別のWebページにリダイレクトする方法は?

更新: また、削除する必要があります 、タグ、ここでは...の代わりにhtmlコード

<input type="text" name="url" id="url"><br>
<input class="btn" type="submit" id="send" value="Send" />
于 2013-04-25T17:23:53.427 に答える
0

あなたのJavaScriptが実行されていないと思いますか?それはあなたがこれをデバッグしたということですか?

準備完了ハンドラーを含め、javascript が実行されない場合、サーバーは js ファイルを見つけられません。JavaScript の一部が実行されている場合、エラーが原因で停止している可能性があります。おそらく、少しだけデバッグを行う必要があります。

于 2013-04-25T17:29:17.360 に答える