gpt4 book ai didi

javascript - 在 PHP 或 JS 中提交表单后重定向到 URL

转载 作者:行者123 更新时间:2023-12-02 15:56:00 25 4
gpt4 key购买 nike

在 PHP 或 JS 中提交表单时,重定向到“谢谢”页面是否更好?我不关心重定向之前页面上显示的任何文本。

我可能提供了太多代码,但我将提供下面的 PHI 和 JS 供引用。

在我的 BCC header 之后,以下 header 能否按预期工作?

header('Location: nextpage.html');

PHP

<?php   
if(empty($_POST['name2']) || empty($_POST['email2']) || empty($_POST['message2']))
{
return false;
}

$name2 = $_POST['name2'];
$email2 = $_POST['email2'];
$message2 = $_POST['message2'];

$to = 'lindsay@domain.com'; // Email submissions are sent to this email

// Create email
$email_subject = "Message from Domain 8.1";
$email_body = "You have received a new message. \n\n".
"Name2: $name2 \nEmail2: $email2 \nMessage2: $message2 \n";
$headers = "From: lindsay@domain.com\r\n";
$headers .= "Reply-To: $email2\r\n";
$headers .= "Bcc: dan@domain.io\r\n";

mail($to,$email_subject,$email_body,$headers); // Post message
return true; ?>

JS

$(function()
{
var successMsg = "Your message has been sent."; // Message shown on success.
var failMsg = "Sorry it seems that our mail server is not responding, Sorry for the inconvenience!"; // Message shown on fail.

$("input,textarea").jqBootstrapValidation(
{
preventSubmit: true,
submitSuccess: function($form, event)
{
event.preventDefault(); // prevent default submit behaviour

var processorFile = "./bin/"+$form.attr('id')+".php";
var formData = {};

$form.find("input, textarea").each(function(e) // Loop over form objects build data object
{
formData[$(this).attr('id')] = $(this).val();
});

$.ajax({
url: processorFile,
type: "POST",
data: formData,
cache: false,
success: function() // Success
{
$form.append("<div id='form-alert'><div class='alert alert-success'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>"+successMsg+"</strong></div></div>");
},
error: function() // Fail
{
$form.append("<div id='form-alert'><div class='alert alert-danger'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><strong>"+failMsg+"</strong></div></div>");
},
complete: function() // Clear
{
$form.trigger("reset");
},
});
},
filter: function() // Handle hidden form elements
{
return $(this).is(":visible");
},
});
});

最佳答案

是的, header 应重定向到应位于当前目录中的 nextpage.html。您应该在 header 之后立即调用 exit() ,以确保在将 header 发送到浏览器进行重定向之前不会输出任何其他内容。所以最后你会得到

<?php
header('Location: nextpage.html');
exit();
?>

如果您不发出退出调用并让脚本继续执行代码,则某些代码可能会生成输出,从而阻止重定向的发生。

以上代码适用于PHP,JS使用window.location.href进行重定向。这看起来像这样

<script>
window.location.href = 'nextpage.html'
</script>

关于javascript - 在 PHP 或 JS 中提交表单后重定向到 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31550792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com