首页 > 解决方案 > 如何将用户输入从 javascript 弹出表单保存到 php 变量中?

问题描述

我不知道这是否可能,但我想问是否可以将用户输入从 javascript 弹出表单保存到 php 变量中。例如,在 w3schools 提供的这段代码中,用户输入显示在屏幕上,而不是我如何将其保存到 php.ini 中的变量中。示例源代码如下

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Prompt</h2>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
    var txt;
    var person = prompt("Please enter your name:", "Harry Potter");
    if (person == null || person == "") {
        txt = "User cancelled the prompt.";
    } else {
        txt = "Hello " + person + "! How are you today?";
    }
    document.getElementById("demo").innerHTML = txt;
}
</script>

</body>
</html>

为了能够做到这一点,我必须学习什么?致谢

标签: javascriptphpajax

解决方案


function myFunction() {
    var txt;
    var person = prompt("Please enter your name:", "Harry Potter");
    if (person == null || person == "") {
        txt = "User cancelled the prompt.";
    } else {
        txt = "Hello " + person + "! How are you today?";
    }
    // Prepare object with data
    var data = {data: txt};
    var url = 'submit.php'
    xhttp.open('POST', url, true);
    xhttp.onreadystatechange = function() {
    if(xhttp.readyState == 4 && xhttp.status == 200) {
       console.log(xhttp.responseText);
    }
    }
    xhttp.send(JSON.stringify(data));
    document.getElementById("demo").innerHTML = txt;
}

在你的submit.php你可以使用以下代码段捕获发布数据

$postData = file_get_contents('php://input');
$jsonData = json_decode($postData);
$key = 'data';
$data = $jsonData->$key;

您将拥有$data变量中的数据


推荐阅读