[英]How is the data being passed from java script to php?
好的,所以我一直在努力学习 web 编程,因为我需要尽快提交一个项目。 无论如何,我偶然发现了一个教程,出于对我的爱,我无法理解他的 javascript 中的数据如何传递到他编写的 php 脚本。
这是片段。
Javascript:
$("form").submit(function(event) {
event.preventDefault();
var name = $("#mail-name").val();
var email = $("#mail-email").val();
var gender = $("#mail-gender").val();
var massage = $("#mail-massage").val();
var submit = $("#mail-submit").val();
$(".form-message").load("mail.php",{
name: name,
email: email,
gender: gender,
massage: massage,
submit: submit
});
})
})
PHP:
$name = $_POST['name'];
$email = $_POST['email'];
$gender = $_POST['gender'];
$massage = $_POST['massage'];
$errorEmpty = false;
$errorEmail = false;
if(empty($name) || empty($email) || empty($massage)) {
echo "<span class='from-error'> Fill in all fields!</span>";
$errorEmpty = true;
}elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){
echo "<span class='from-error'> Write a valid e-mail address!</span>";
$errorEmail = true;
}else{
echo "<span class='form-success'> E-mall has been sent! </span>";
}
这里的 php 如何能够从“表单”接收数据? 此外,在 $("form") 上,这应该是一个 ID 或 CLASS 集,用于将包含信息的表单(本教程中未提及)。
最后,负责将数据发送到 php 的是 the.load("mail.php") 吗?
如果是这样,他为什么要添加 $(".form-message") 这是 ap 标签。
首先, $("form")
引用页面中的<form>
html 标记。
所以基本上, $("form").submit
reffer 事件表单点击(提交表单)。
.form-message
是 div 或 p... 的 class,它将包含mail.php
的响应。在此处的示例中,它可能位于以下行中:
<span class='from-error'> Fill in all fields!</span>
<span class='from-error'> Write a valid e-mail address!</span>
<span class='form-success'> E-mall has been sent! </span>
这里的load jquery function 会做一个HTTP请求发送参数到mail.php文件。
{
name: name,
email: email,
gender: gender,
massage: massage,
submit: submit
}
php 文件中的 map 给定参数为:
$name = $_POST['name'];
$email = $_POST['email'];
$gender = $_POST['gender'];
$massage = $_POST['massage'];
请记住,参数名称应保持不变。
在这里查看一些有用的链接:
当您使用 GET 或 POST 从表单提交数据时,它会转到该表单中的操作参数,该参数可以是 php 脚本。The.load() function 获取 mail.php 文件,其中包含您在您的 javascript,并返回一些 html 代码,该代码附加在您的 p 标签 ( the.form-message ) 中。
因此,当您加载它并设置这些参数时,就是 js 将数据发送到 PHP 的时候。
$("form") 表示页面上的任何表单。 $("#form") 正在选择具有 ID 表单的元素,而 $(".form") 正在选择具有 class 表单的元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.