id变量获取未定义的asp.net ajex

时间:2018-12-28 11:38:44

标签: asp.net ajax

在get_category_details函数内部成功检索ID,我通过console.log检查是否运行良好。但是,当我将id传递给函数addProject()时,它显示的是未定义的样子

{fname:'Dhan',age:'3443',id:'undefined'}

enter image description here

当用户单击“编辑”按钮时,它将转到功能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) {
}

1 个答案:

答案 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 };