gpt4 book ai didi

php - 使用ajax提交邮件表单的正确方法? - 没有 JQuery

转载 作者:行者123 更新时间:2023-11-28 09:45:45 25 4
gpt4 key购买 nike

我正在尝试使用 ajax 处理 php 邮件表单。这是一个简单的表单,可将​​包含用户电话号码等的消息发送到我的电子邮件。

我对 php 完全没有经验,但我让它使用常规提交向我发送邮件,然后返回到索引页面。

由于这不会向用户提供任何反馈,因此这对我不起作用。我发现了一些使用 JQuery 的示例。我还看到人们同时使用 GET 和 POST。我现在很困惑我应该如何继续。

我想我想要实现的 JQuery 版本看起来与此类似。

var dataString = 'name='+ name + '&email=' + email + '&message=' + message;

$.ajax({
type: "POST",
url: "mail.php",
data: dataString,
success: function() {
$('#myForm').html("<div id='response'></div>");
$('#response').html("<h2>Contact Form Submitted!</h2>");
}
});

<?php
$mail = $_POST['email '];
$name = $_POST['name'];
$subject = 'new submit';
$text = $_POST['message'];
$to = “yourmail@domain.com”;
$message =” You received a mail from “.$mail;
$message .=” Text of the message : “.$text;
mail($to, $subject,$message)
?>

最佳答案

正如其他人所说,jQuery 比使用 AJAX 的自然方式更好。但要得到答案,首先您应该在 JavaScript 中创建一个 XmlHttp 对象。然后,您可以使用正确的 GET 或 POST 方法将您的值发送到您的页面。之后,您可以通过获取在 stateChanged 函数中实现的已发布请求的状态来跟踪该流程。仅此而已!

var xmlhttp

function retrive(url, str){
xmlhttp = GetXMLHTTPObject();
if(xmlhttp==null){
alert("Your browser doesn't support the ajax.");
return;
}
var script=url;
script=script+"?value="+str;
xmlhttp.onreadystatechange = stateChanged;
xmlhttp.open("GET",script,true);
xmlhttp.send(null);
}

function stateChanged(){
if(xmlhttp.readyState == 0){
document.getElementById("result").innerHTML = "not initialized";
}
if(xmlhttp.readyState == 1){
document.getElementById("result").innerHTML = "has been set up";
}
if(xmlhttp.readyState == 2){
document.getElementById("result").innerHTML = "has been sent";
}
if(xmlhttp.readyState == 3){
document.getElementById("result").innerHTML = "in process";
}
if(xmlhttp.readyState == 4){
document.getElementById("result").innerHTML = xmlhttp.responseText;
}
}

function GetXMLHTTPObject(){
if(window.XMLHttpRequest){
//code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if(window.ActiveXObject){
//code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}

我认为最好看看XmlHttpObject的定义。

关于php - 使用ajax提交邮件表单的正确方法? - 没有 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798990/

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