我试图通过Ajax代码从数据库中获取数据。 PHP代码运行良好,但是ajax响应始终是未定义的。我试过了json bat resuls是一样的。 这是代码:
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'));
}
答案 0 :(得分:0)
尝试使用Ajax方法的 Accept 和 content-type 属性。
答案 1 :(得分:0)
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)
永远不会返回值。 return
属于success
函数。因此,getAjax(p, m)
的返回值将始终为'undefined'。
您将必须学习如何使用事件驱动的异步编程语言。最好使用好书或课程。