Ajax没有将变量传递到另一个页面吗?

Ift*_*din 2 javascript php arrays ajax

我想在用户email单击订阅按钮时将其保存到数据库。但是,当我输入电子邮件并单击“订阅”按钮时,它将传递一个空数组!

订阅表格代码:

<form id="cx-subscribe-user">
    <input type="text" name="email" id="email" placeholder="Enter Your Email" />
    <button type="submit" id="subscribe-button">Subscribe</button>
</form>
Run Code Online (Sandbox Code Playgroud)

js代码:

$('#cx-subscribe-user').on('click', function (e) {
    e.preventDefault();
    var email = $('#email').val();
    $.ajax({
        type: "GET",
        url: "subscribe-the-user.php",
        processData: false,
        dataType: 'json',
        data: {email: email},
        success: function(data) {
            console.log('saved scucess');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

subscribe-the-user.php文件中,我试图var_dump请求,但它正在打印空数组:

var_dump($_GET);exit;
Run Code Online (Sandbox Code Playgroud)

var_dump中,我收到这个空数组 array(0) {}

Una*_*rai 5

删除processData,如文档所述,它将使您的请求混乱

processData(默认值:true)

类型:布尔

默认情况下,作为对象传递给data选项的数据(从技术上讲,不是字符串)将被处理并转换为查询字符串,以适合默认的内容类型“ application / x-www-form-urlencoded” 。如果要发送DOMDocument或其他未处理的数据,请将此选项设置为false。 https://api.jquery.com/jQuery.ajax/