Ale*_*tau 1 javascript php ajax jquery
我有下一个功能.我的PHP脚本返回一个数组,error其值为'ERR':
var updatePaymentType = function(plan_pt_id, pt_id){
var error = null;
var data = new Object()
data["function"] = "update";
data["payment_type_id"] = pt_id;
data["plan_payment_type_id"] = plan_pt_id;
data["data"] = $("#saveform").serializeArray();
$.ajax({
type: "POST",
url: "<?=ROOT_PATH?>/commission/plan/edit/id/<?=$this->editId?>",
data: data,
dataType: "json",
success : function (data)
{
error = data['error'];
alert(error); // All works. Output ERR
}
});
alert(error); // Not work. Output null
return error;
};
Run Code Online (Sandbox Code Playgroud)
我的函数应该返回一个错误.但它回来了null.非常感谢你.
AJAX请求是异步的,这意味着直到您已经返回之后才会设置该值(success处理程序稍后运行,当服务器响应数据时).
要返回错误类型,您必须使其同步,async: false如下所示:
$.ajax({
async: false,
type: "POST",
...
Run Code Online (Sandbox Code Playgroud)
但这会锁定浏览器,最好调用任何使用success回调值的内容,如下所示:
success : function (data)
{
var error = data['error'];
functionThatTakesError(error);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2472 次 |
| 最近记录: |