【发布时间】:2016-09-10 09:03:55
【问题描述】:
鉴于此代码,
var submit = {
send:function (form_id) {
var url = $(form_id).attr("action");
$.ajax({
type: "POST",
url: url,
data: $(form_id).serialize(),
dataType: 'json',
success: function(result) {
this.ret(result.message);
},
error: function(result) {
// Some error message
}
});
},
ret:function (result) {
this.result_data = result;
},
result_data:""
};
将表单中的数据发送到控制器,如果控制器返回一个 json
$result['message'] = validation_errors();
echo json_encode($result);
我尝试在这段代码中调用这个 javascript 对象,
var res = submit.send(form_id);
其中form_id是id的形式,使用
console.log(res);
在控制台中,它显示undefined。在使用 google 和 stackoverflow 本身搜索解释后,我想到了,
this.ret(result.message);
在另一个对象的 ajax 内部被调用,表明它不是它的方法的一部分。
我的问题是,如何在ajax内部调用ret()方法?
谁能给我解释一下?
【问题讨论】:
-
是的,但是使用控制台查看时返回未定义
-
@brett dewoody:这可能吗,它需要一个函数,还是我错了?
标签: javascript jquery ajax object