我有一个javascript函数,它使用ajax函数发布到php脚本和一个变量,用于确定结果是返回true还是false。在php中,我通常会将函数分配给变量,例如:
$insert_item = $process->insert_item($item_array);
If ($insert_item->error)
{
//error detected, do something
}
我无法使用javascript完成此操作。相反,如果我将一个函数赋给变量,我会得到一个[object object]返回。作为一种廉价的替代方案,我试图使用全局变量来编写任何错误:
var error = false;
function update_db(formInput) {
$.post(action.php, formInput, function(data) {
if (data != 0) {
error = true
}
});
return error;
}
var updateDb = update_db(form_data);
if (updateDb) {
alert("error detected");
在此示例中,'错误'尽管ajax函数将其更新为true,但仍然返回false。我已经阅读了有关javascript hoisting的所有内容,但尚未找到解决方案。有没有办法解决?我的问题完全源于ajax函数,我也尝试直接访问以返回任何变量(就像我在PHP中轻松做的那样),但我没有运气!
作为旁注,我觉得有趣的是我可以访问错误'在ajax函数内(返回false)但无法更改它。