Php ajax响应数据始终未定义

Php ajax响应数据始终未定义,php,jquery,ajax,Php,Jquery,Ajax,我试图通过ajax代码从数据库中获取数据。PHP代码运行良好,但ajax响应始终是未定义的。我试过json,结果是一样的。 以下是代码: var email = $('#email').val(); function getAjax(p, m) { $.ajax({ url: '../lib/checkmail.php', type: 'post', data: {val : p, colu

我试图通过ajax代码从数据库中获取数据。PHP代码运行良好,但ajax响应始终是未定义的。我试过json,结果是一样的。 以下是代码:

    var email = $('#email').val();

    function getAjax(p, m) {
        $.ajax({
            url: '../lib/checkmail.php',
            type: 'post',
            data: {val : p, column : m},
            success: function (data) {
                return data.toString();
            }
        });
    }
    if (email.length > 0){

        alert(getAjax(email, 'youremail'));
    }

ajax调用异步工作。因此,当您调用
getAjax(p,m)
if时,它将开始获取url,这需要时间,但函数会立即返回。只有在检索完url之后,才会执行ajax调用的
success
功能。所以你可以测试的是:

var email = $('#email').val();

function getAjax(p, m) {
    $.ajax({
        url: '../lib/checkmail.php',
        type: 'post',
        data: {val : p, column : m},
        success: function (data) {
            alert(data.toString());
        }
    });
}
if (email.length > 0){

    getAjax(email, 'youremail');
}
这将为您提供一个具有正确响应的警报

另一个明显的问题是,
getAjax(p,m)
永远不会返回值。
返回属于
success
功能。因此
getAjax(p,m)
的返回值总是“未定义”


您必须学习如何使用事件驱动的异步编程语言。最好使用一本好书或一门课程

可能在checkmail.php文件中出现问题您的lib文件夹放在哪里?它是否放在调用AJAX的文件之前一级?根据你的截图,我想你收到了通知。尝试在Firefox中访问相同的内容。谷歌开发者工具不会总是给你完整的回应。我认为如果你解决了通知问题,那么你的问题也会得到解决。