数据是如何从java脚本传递到php的?

问题描述 投票:0回答:2

好吧,我一直在努力学习网络编程,以便尽快提交一个项目,无论如何,我偶然发现了一个教程,我不能,为了我的爱,理解如何从他的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设置(这在教程中没有提到)。

最后,.load("mail.php")是负责将数据发送到php的吗?

如果是,为什么他要加上$(".form-message")这个p标签。

javascript php ajax
2个回答
1
投票

首先,该 $("form") 提及 <form> 在你的页面中的html标签。

所以基本上, $("form").submit 参照活动表单点击(表单提交)。

.form-message 是一个div或p...的类,它将包含响应的 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函数要做一个HTTP请求,发送参数到mail.php文件。

{
   name: name,
   email: email,
   gender: gender,
   massage: massage,
   submit: submit
} 

该php文件将把给定的参数映射为.php文件。

 $name = $_POST['name'];
 $email = $_POST['email'];
 $gender = $_POST['gender'];
 $massage = $_POST['massage'];

请记住,参数名称应该保持一致。

查看这里一些关于.JQuery加载函数的有用链接。

JQuery加载函数

PHP:来自外部的变量


0
投票

当你从表单中提交数据时,无论是GET还是POST,它都会进入表单中的动作参数,这个动作参数可以是一个php脚本。.load()函数会获取mail.php文件,其中包含你在javascript中设置的参数,并返回一些html代码,这些代码会被添加到你的p标签中(即.form-message)。

所以当你加载它,并设置这些参数时,js就会把数据发送到PHP中。

$("form")是指页面上的任何表单。$("#form")是选择ID为form的元素,$(".form")是选择类form的元素。

© www.soinside.com 2019 - 2024. All rights reserved.