如何将验证从php传递给ajax

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

如何使用AJAX在PHP中验证后显示我的错误消息

嗨,我正在研究我的ajax,我正在尝试弄清楚我的错误消息将如何出现在我的表单上。我已经尝试回应错误,但我想要的是在每个无效字段上显示错误。

这是我的HTML代码:

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <style>
        span{
            display: none;
        }
    </style>
</head>
<body>
    <form action="test2.php" method="POST" id="formLogin" class="pass">
        name: <input type="text" name="name" id="name">
        <span id="name">Invalid!</span> 
        <br>
        description: <textarea name="description" id="description"></textarea>
        <span id="desc">Invalid!</span>
        <br>
        image file: <input type="file" name="image" id="image">
        <button type="submit"  ></button>
    </form><br>
    <p class="form-message"></p>
    <script src="ajax.js"></script>
</body>

继承我的ajax代码:

$(document).ready(function(){
            $("#formLogin").submit(function(event){
            event.preventDefault();
            $.ajax({
                url: 'test2.php',
                type: 'POST',
                data: new FormData(this),
                contentType: false,
                cache: false,
                processData: false,
                success: function(data)
                {
                    if(data.name == "1"){
                        $("span#name").css("display","block");
                    }else{
                        $("span#name").css("display","none");
                    }
                    if(data.desc == "1"){
                        $("span#desc").css("display","block");
                    }else{
                        $("span#desc").css("display","none");
                    }
                }
            });

        });
    });

和我的PHP代码;

<?php
    $myObj = new stdClass();


    if(empty($_POST['name'])){
        $myObj->name = "1";
    }

    if(empty($_POST['description'])){
        $myObj->description = "1";
    }

    $myJSON = json_encode($myObj);

    echo $myJSON;
?>
php jquery html ajax
1个回答
1
投票

在ajax的成功中,你在json formate中收到数据,在使用data.name之前你需要重新解析解析json data=$.parseJSON(data)data=JSON.parseJSON(data) 然后使用data.name

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