问题是 Parse_Error 函数的 return 语句没有返回。它返回您声明的所谓匿名函数 ( function(data){...}
),该函数将数据提供给 JQuery,它实际上忽略了它。相反,您需要执行以下操作:
// your code that does the query
do_error_query('The Error Message');
function do_error_query(ErrMsg) {
$.post("ajax/errormsg.php", {errmsg: ErrMsg} , function(data){
alert(data);
// here you need to call a function of yours that receives the data.
// executing a return statement will return data to jquery, not to the calling
// code of do_error_query().
your_function(data);
});
}
function your_function(data){
// process the data here
}
do_error_query()
问题是,在 PHP 页面的结果返回之前,调用就完成了。所以不可能返回结果。换句话说,your_function(data)
将在do_error_query()
返回后很好地调用。我希望这是有道理的。
实际上,do_error_query()
只是设置一个事件处理程序。它无法返回值,因为事件尚未完成。这就是事件处理程序your_function(data)
的用途。它处理事件,从您的 PHP 页面返回数据。虽然活动尚未完成,do_error_query()
但早就结束了。