XMLHttpRequest отвечает нежелательным ответом - PullRequest
1 голос
/ 28 февраля 2020

Я столкнулся с проблемой, которую я вообще не смог понять. У меня есть форма регистрации , ajax script и php script . Моя цель в том, чтобы я хотел отправить данные в php из формы регистрации, используя ajax. Моя проблема в том, что я могу отправить, но не получаю желаемых результатов в качестве ответа. Это моя регистрационная форма

<form method="post" action="../../includes/seller.inc.php" id="form">
    <label for="names">First name and last name: </label><input type="text" name="names" id="names"> <br><br>
    <label for="phone">phone number: </label><input type="text" name="phone" id="phone"> <br><br>
    <label for="shopName">shop name: </label><input type="text" name="shopName" id="shopName"> <br><br>
    <label for="email">Email: </label><input type="text" name="email" id="email"> <br><br>
    <label for="pwd">Password: </label><input type="password" name="pwd" id="pwd"> <br><br>
    <label for="pwd2">Retype Password: </label><input type="password" name="pwd2" id="pwd2"> <br><br>
    <label for="description">Provide a brief Description</label><textarea name="description" id="description" cols="30" rows="5"></textarea> <br><br>
    <button type="submit" name="submit">submit</button><br>
</form>

И это мой PHP скрипт (действие, указанное в форме):

$names = mysqli_real_escape_string($conn, $_POST["names"]);
$phone = mysqli_real_escape_string($conn, $_POST["phone"]);
$shopName = mysqli_real_escape_string($conn, $_POST["shopName"]);
$email = mysqli_real_escape_string($conn, $_POST["email"]);
$pwd = mysqli_real_escape_string($conn, $_POST["pwd"]);
$pwd2 = mysqli_real_escape_string($conn, $_POST["pwd2"]);
$description = mysqli_real_escape_string($conn, $_POST["description"]);

//validating the user input data
if(!empty($names && $phone && $shopName && $email && $pwd && $pwd2)){
    if (preg_match("/^[a-zA-Z\s]+$/",$names)) {
        if (preg_match("/^[0-9+](\d)+$/",$phone)) {
            if(preg_match("/^[a-zA-Z\s]+$/",$shopName)) {
                if(filter_var($email,FILTER_VALIDATE_EMAIL)) {
                    if ($pwd !== $pwd2) {
                        header("Location: ../sell/auth/sell.signup.php?passwordsdoNotMatch");
                    } else {
                        $hashed_pwd = password_hash($pwd, PASSWORD_DEFAULT);
                        $sql = "INSERT INTO seller(name,phone,shopName,email,password,description,approval_status) VALUES ('$names','$phone','$shopName','$email','$hashed_pwd','$description','0');";

                        if(!mysqli_query($conn, $sql)) {
                            echo "sorry not added".mysqli_error($conn);
                        } else {
                            header("Location: ../index.php");
                            $_SESSION['actionmsg-success'] = "successfully Added .Wait for approval!! so that you may post your products.";
                        }
                    }

А это ajax

function loadFunc() {
    const names = document.getElementById('names');
    const phone = document.getElementById('phone');
    const shopName = document.getElementById('shopName');
    const email = document.getElementById('email');
    const pwd = document.getElementById('pwd');
    const pwd2 = document.getElementById('pwd2');
    const description = document.getElementById('description');

    var form = document.getElementById('form');
    form.addEventListener('submit', function (e) {
        e.preventDefault();

        var params = `names=${names}&phone=${phone},shopName=${shopName},email=${email}&pwd=${pwd}&pwd2=${pwd2}&description=${description}`;
        var xhr = new XMLHttpRequest();
        xhr.open('post', '../../includes/seller.inc.php');
        xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        xhr.onload = function () {
            if (this.readyState == 4) {
                console.log(this.responseText);
            }
        }
        xhr.send(params);
    });
}

При их запуске я не получаю сообщение об ошибке, но я получаю ответ своего собственного html кода, напечатанного в браузере. enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...