未捕获的TypeError:在Ajax调用后无法读取未定义的属性'appendChild'

时间:2014-11-28 06:46:01

标签: javascript jquery ajax jquery-plugins ajaxform

我想用新的Ajax响应html替换我的html,但是这个错误显示在控制台中,我的脚本文件没有正确加载。显然这个错误出现在文件“jquery-1.10.1.min.js”中。以下是我的ajax代码,我用它替换成功函数中的html。

$(function() {
         $('#addcustomer-done').click(function() {

       var formData = new FormData($('#submit_form')[0]);

       //---------------------- AJAX CALL 1 -----------------------------------------//
       $.ajax({
            // headers : {
                      // 'X-CSRF-Token' : document.getElementsByName('csrfmiddlewaretoken')[0].value
                  // },
            url : "/savecustomer/",
            type : "POST",

             data:formData,
             contentType: false,
             cache: false,
             processData: false,
             async: false,

             cache:false,
             contentType: false,
             processData: false,


            success : function(data) {
                alert(data);

                $("html").html("");
                $("html").html(data);
            }

我是ajax的初学者。请指导我如何摆脱这个错误。提前谢谢。

1 个答案:

答案 0 :(得分:0)

不要清除html标签内的元素。使用dom中存在的元素来附加值。同时从您的ajax中删除async:false。因为ajax应该异步运行。

$(function() {
    $('#addcustomer-done').click(function() {
        var formData = new FormData($('#submit_form')[0]);
        $.ajax({
            url: "/savecustomer/",
            type: "POST",

            data: formData,
            success: function(data) {
                console.log(data);
                $("#id of element inside tab").append(data);
            }
        });
    });
});