第一次使用函数返回Undefined,每次运行并返回对象....
基本上,第一次存储var _d时,它是一个未定义的值。
第一次存储其值时,点击是"未定义"并且每隔一段时间它存储适当的值。
// jscript.js
function getDataById(This,table,Url)
{
var Id = table.row(This.parent().parent()).data().id;
$.ajax({
url: Url + "/" + Id,
type: "GET",
dataType: 'json',
success: function (Data) {
var _d = Data;
return _d;
},
error: function () {
sweetAlert("Oops...", "Something went wrong!", "error");
}
});
}
/***********************/
$(document).ready(function () {
$("#test tbody").on('click', '#aff', function () {
console.log( getDataById($(this),table,"test/email") );
});
)};
/*****************/
// undefined

答案 0 :(得分:0)
$.ajax()
是异步的,success
只是一个回调。
函数getDataById
必须有一个将在ajax请求之后调用的回调
// jscript.js
function getDataById(This, table, Url, callback) {
var Id = table.row(This.parent().parent()).data().id;
$.ajax({
url: Url + "/" + Id,
type: "GET",
dataType: 'json',
success: function (Data) {
callback(Data);
},
error: function () {
sweetAlert("Oops...", "Something went wrong!", "error");
}
});
}
/***********************/
$(document).ready(function () {
$("#test tbody").on('click', '#aff', function () {
getDataById($(this), table, "test/email", function (data) {
console.log(data);
});
});
)
};
/*****************/