簡體   English   中英

使用JQuery在表中動態添加行時,在行中添加未定義

[英]Undefined is added in a row when dynamically adding row in table using JQuery

當我使用jquery在表中動態添加行而不是動態插入數據時,在表row中添加了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);           
    }

您不應該對要發送的數據進行字符串化處理,請嘗試:

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
            }
        });
}

您還應該記錄服務器接收數據時在服務器上發生的情況,這可能是發生“未定義”的地方。

我假設您還需要錯誤處理服務器端才能在ajax調用的fail回調中獲得有意義的結果。 上面的代碼應幫助您標記問題出處。

最后,為了喜歡所有代碼,請不要使用警報進行調試! console.log也可以正常工作,並且不會阻止您的應用程序/避免涉及的所有人煩惱:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM