繁体   English   中英

重定向URL表格

[英]Redirecting URL form

我开始研究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是否正确。 怎么了?

如果您想重定向到另一个URL,则无需发出AJAX请求。 另外,您目前的操作方式也不会重定向。

在下面,当您的click函数触发时,它将从您的输入字段获取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>

您需要在输入中添加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中重定向到另一个网页?

更新:您还需要delete,标签,此处是html代码而不是...

<input type="text" name="url" id="url"><br>
<input class="btn" type="submit" id="send" value="Send" />

所以您认为您的JavaScript没有被执行? 这是否意味着您已经调试了?

如果您的JavaScript均未运行-包括准备好的处理程序,则服务器找不到js文件。 如果您的某些JavaScript正在运行,则可能是错误导致其停止。 您可能只需要进行一些调试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM