Php ajax响应数据始终未定义
我试图通过ajax代码从数据库中获取数据。PHP代码运行良好,但ajax响应始终是未定义的。我试过json,结果是一样的。 以下是代码: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
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中访问相同的内容。谷歌开发者工具不会总是给你完整的回应。我认为如果你解决了通知问题,那么你的问题也会得到解决。