簡體   English   中英

數據如何從 java 腳本傳遞到 php?

[英]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'];

請記住,參數名稱應保持不變。

在這里查看一些有用的鏈接:

JQuery 負載 function

PHP:來自外部源的變量

當您使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM