2016-11-30 4 views
0

Когда я динамически добавляю строку в таблицу с использованием jquery вместо динамически вставленных данных, неопределенная добавляется в строку таблицы.Undefined добавляется в строку при динамическом добавлении строки в таблицу с использованием JQuery

enter image description here Это форма, когда я добавляю данные, а не данные, которые она добавляет undefined.

var employee = { 
     ID: 0, 
     Name: "", 
     LastName: "" 
    }; 

    function addEmployee(employee) 
    { 
     debugger; 
     alert(employee.ID); 
     $.ajax({ 
      url: "http://localhost:51640/employee/createemployee", 
      type: 'POST', 
      contentType: 
       "application/json;charset=utf-8", 
      data: JSON.stringify(employee), 
      success: function (employee) {      
       employeeAddSuccess(employee); 
      },       
     }); 
    } 



    function employeeAddSuccess(employee) { 
     alert(employee.Name);   
     employeeAddRow(employee);    
     alert("about to clear "); 
     formClear(); 
     alert("successfully addded"); 
    } 

    function employeeAddRow(employee) { 
     alert(employee.ID); 
     $("#employeeTable tbody").append(employeeBuildTableRow(employee)); 
    } 
    function formClear() { 
     $("#lblempID").val(""); 
     $("#lblEmpName").val(""); 
     $("#lblEmpLastName").val(""); 
    } 
    function addClick() { 
     formClear(); 
    } 

    function employeeBuildTableRow(employee) { 
     debugger; 
     var ret = 
      "<tr>" + 
      "<td>" + employee.ID + "</td>" + 
      "<td>" + employee.Name + "</td>" 
      + "<td>" + employee.LastName + "</td>" + 
      "</tr>"; 
     alert(ret); 
     return ret; 
    } 


    function updateClick() { 
     // Build product object from inputs 
     employee = new Object(); 
     employee.ID = $('#lblempID').val(); 
     employee.Name = $('#lblEmpName').val(); 
     employee.LastName = $('#lblEmpLastName').val(); 
     addEmployee(employee);   
    } 
+1

Каков формат возвращения сотрудника в успешный метод? Вы пытались выяснить, имеет ли он значение или нет? – Yaser

+0

Покажите нам свой html, кажется, у вас есть объект employee, у которого нет данных. – ScanQR

+0

Попробуйте добавить 'dataType: 'json'' в $ .ajax options. Это будет работать, если ваш внутренний код вернет правильные данные. –

ответ

0

Вы не должны stringify данных вы отправляете, попробуйте:

function addEmployee(employee) 
    { 
     debugger; 
     console.log(employee); // verify the data that will be sent to the server 
     $.ajax({ 
      url: "http://localhost:51640/employee/createemployee", 
      type: 'POST', 
      dataType:'json' 
      contentType: 
       "application/json;charset=utf-8", 
      data: employee, 
      success: function (result) { 
       console.log(result); // verify the result coming back     
       employeeAddSuccess(result); 
      }, 
      fail: function (error) { 
       console.log(error); // if there's an error, log that too 
      } 
     }); 
} 

вы также должны войти, что происходит на сервере, когда он получает данные, это, вероятно, где «не определено 'происходит.

Я предполагаю, что вам также понадобится сервер обработки ошибок, чтобы получить значимый результат в обратном вызове fail вашего вызова ajax. Вышеупомянутый код должен помочь вам определить, откуда возникла проблема.

И, наконец, для любви ко всему, не используйте предупреждения для отладки! console.log работает так же хорошо и не будет блокировать ваше приложение/раздражать ад из всех участников :)

+0

спасибо, это сработало. – kshitij