在get_category_details函数内部成功检索ID,我通过console.log检查是否运行良好。但是,当我将id传递给函数addProject()时,它显示的是未定义的样子
{fname:'Dhan',age:'3443',id:'undefined'}
当用户单击“编辑”按钮时,它将转到功能get_category_details并将数据显示在上方所附的相关文本框和ID图像中。
"sTitle": "Edit",
"mData": "id",
"render": function (mData, type, row, meta) {
return '<button class="btn btn-xs btn-success" onclick="get_category_details(' + mData + ') ">Edit</button>';
}
get_category_details
function get_category_details(id) {
$.ajax({
type: 'POST',
url: 'edit_return.asmx/doSome',
dataType: 'JSON',
data: "{id: '" + id + "'}",
contentType: "application/json; charset=utf-8",
success: function (data) {
// console.log(data);
$("html, body").animate({ scrollTop: 0 }, "slow");
isNew = false;
id = data.d[0].id;
$('#fname').attr('value', data.d[0].fname);
$('#age').attr('value', data.d[0].age);
alert(id);
}
});
}
此获取ID的方式,我检查了一条成功显示的警报消息,但不会传递给它显示未定义的Addproject()方法
function addProject() {
$.ajax({
type: _method,
url: 'update.aspx/doSomething',
dataType: 'JSON',
contentType: "application/json; charset=utf-8",
data: "{fname: '" + $('#fname').val() + "',age: '" + $('#age').val() + "', id: '" + id + "'}",
success: function (data) {
}
答案 0 :(得分:0)
好吧,如果看不到完整的代码,很难分辨出问题出在哪里,var id = ....
是否在addProject()
范围之外?由于get_category_details(id)
在调用时已经获取了参数。我不知道您何时将调用addProject()
函数,但是为什么不在$.ajax
success
上调用并将data.d[0].id
传递给它呢?或在声明任何函数具有变量var idForProject = ''
之前,然后在success
内执行idForProject = data.d[0].id
并将addProject()
编辑为var dataValue = { "fname": $('#fname').val(), "age": $('#age').val(), "id": idForProject };