如何在nativescript中使用fetch将表单数据发送到php?

yh2wf1be  于 2023-09-29  发布在  PHP
关注(0)|答案(1)|浏览(99)

我试图在我的nativescript应用程序中创建一个注册表单,我正在使用fetch API来发布数据。但现在它只是填充数据库,而没有真正上传数据。这就是我所尝试的

JS

const phpData = {
                email: "[email protected]",
                password: "password",
                name: "Adekunle Adeyeye",
                number: "07019888741",
            }
            /*email = viewModel.getViewById("email").value;
            password = viewModel.getViewById("password").value;
            name = viewModel.getViewById("name").value;
            number = viewModel.getViewById("number").value;*/

            fetch("https://goodsbuy.000webhostapp.com/register.php", {
                method: 'POST',
                body: JSON.stringify(phpData),
                headers:{
                    "content-type": "application/json; charset=UTF-8"
                }
            })
            .then(response => response.json())
            .then(json => console.log(json))
            .then((phpData) => {
                console.log('Success:', phpData);
                this.set("processing", false);
                Toast.makeText("Successful").show();
                this.isLoggingIn = true;
              })
              .catch((error) => {
                console.error('Error:', error);
                this.set("processing", false);
                Toast.makeText("Account Already exists").show();
                this.isLoggingIn = false;
              });

PHP

$email = $_POST['email'];
$password = $_POST['password'];
$name = $_POST['name'];
$number = $_POST['number'];

$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
      $sql = "INSERT INTO comedyapp(`name`, `email`, `number`, `password`) VALUES ('$name', '$email', '$number', '$password')";
        if ($conn->query($sql) === TRUE) {
            echo '{"items":'. json_encode('Good') .'}'; 
        } else {
            echo '{"items":'. json_encode('Bad') .'}';
        }

请帮助我。

ibps3vxo

ibps3vxo1#

取代

$email = $_POST['email'];
$password = $_POST['password'];
$name = $_POST['name'];
$number = $_POST['number'];

extract(json_decode(file_get_contents('php://input'),true));

它会自动声明变量。

相关问题