[英]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.