javascript - PHP 不向 AJAX 返回数据

标签 javascript php jquery ajax

我正在测试一个登录表单,该表单通过 Ajax 将数据提交到 PHP 处理文件。一旦我单击提交按钮,它只会将我重定向到 PHP 文件,而不是从 PHP 返回数据。该表单位于引导模式内部。我是 jquery 和 ajax 的新手,所以我希望有人能提供帮助。谢谢

HTML

<form action="login-process.php" id="test-form" method="post">
                    <div class="form-group">
                    <input type="hidden" name="login-form">
                        <input type="email" class="form-control form-control-lg" name="login-email" id="loginEmail" placeholder="Email address" required>
                    </div>

                    <div class="form-group">
                        <input type="password" class="form-control form-control-lg" name="login-pass" id="loginPassword" placeholder="Password" required>
                    </div>

                    <button type="submit" class="btn btn-lg btn-block btn-primary mb-4">Sign in</button>
                </form>

JQuery 脚本放置在 jquery.js cdn 之后的站点页脚

$(document).ready(function(){

    // Process form
    $('#test-form').submit(function(event){

        // get form data
        var formData = {
            'email' :           $('input[name=login-email]').val(),
            'password' :        $('input[name=login-pass]').val();
        };

        // process the form
        $.ajax({
            type        : 'POST', // define the HTTP method we want to use
            url         : 'process.php', // url to send data
            data        : formData, // data object
            dataType    : 'json', // what type of data to expect back from server
            encode      : true
        })
        // using done promise call back
        .done(function(data){

            // log data to console
            console.log(data);

            if (data.email-msg) {
                alert("success");
            }

        });

        // stop the form from submitting and refresing the page
        event.preventDefault();
    });
});

流程.php

<?php 

$data = array();    // array to hold pass back data

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    $email = $_POST['login-email'];
    $password = $_POST['login-pass'];

    $data['email-msg'] = $email;
    $data['pw-msg'] = $password;

    echo json_encode($data);
} ?>

最佳答案

试试这个兄弟

$(document).ready(function(){
  $('#test-form').on('submit', function(event){
    event.preventDefault();
    $.ajax({
      url:"action="login-process.php" ",
      method:"POST",
      data:$(this).serialize(),
      success:function(data){
        console.log("data send");     
      }
    })
  });
});
<form id="test-form" method="post">
                    <div class="form-group">
                    <input type="hidden" name="login-form">
                        <input type="email" class="form-control form-control-lg" name="login-email" id="loginEmail" placeholder="Email address" required>
                    </div>

                    <div class="form-group">
                        <input type="password" class="form-control form-control-lg" name="login-pass" id="loginPassword" placeholder="Password" required>
                    </div>

                    <button type="submit" class="btn btn-lg btn-block btn-primary mb-4">Sign in</button>
                </form>

关于javascript - PHP 不向 AJAX 返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60795699/

相关文章:

javascript - 获取浏览器宽度并根据大小隐藏元素?

php - Redux 框架幻灯片字段 - wp_editor 而不是文本字段

php - 我的实例没有为我获取我想要的表

jQuery 按钮点击问题

jquery - 如果文本超出一定宽度自动添加 "...",但在悬停时显示?

javascript - 以样式格式选择所有或部分父/子复选框

javascript - store.CreateRecord 推送记录来存储来自服务器的负面响应

javascript - 据称相同的代码会导致不同的路由行为

php - 如何阻止 Zend Form 错误被呈现为无序列表?

javascript - jquery数组按多个元素分组并查找总数