Ajax成功内的函数调用不起作用

时间:2018-06-20 17:30:19

标签: html ajax html-table

我在ajax的成功函数内部有一个函数调用。问题是我没有得到任何迹象表明外部函数实际上在被调用。我什至向它添加了警报,以确保未正确调用它。我对html和ajax还是很陌生,因此非常感谢您的帮助。

AJAX功能:

  <script>
$(function() {
    $('.update_btn').click(function() {
        var $row = $(this).closest("tr"),
        $tds = $row.find("td:nth-child(1)");
        var file_name = $tds.text()
        $row.remove()
        $.ajax({
            url: '/database',
            data: {f : file_name},
            type: 'POST',
            success: function(msg) {
               newRow(msg);
            }
        });

    });
});

  </script>

外部功能:

<script>
    function newRow(msg) {
        alert(msg.status)
        switch (msg.status) {
            case 'Safe':
                 var tr = '<tr class="c_table">' +
                 '<td>' + msg.file_name + '</td>' : '<td>' + msg.status + '</td>' : '<td>' + msg.time + '</td></tr>';
                 $('#c_table').append(tr);
                 break;
            case 'Threat':
                 var tr = '<tr class="c_table">' +
                 '<td>' + msg.file_name + '</td>' : '<td>' + msg.status + '</td>' : '<td>' + msg.time + '</td></tr>';
                 $('#c_table').append(tr);
                 break;
            case 'Queued':
                 var tr = '<tr class="p_table">' +
                 '<td>' + msg.file_name + '</td>' : '<td>' + msg.status + '</td>' : '<td>' + msg.time + '</td></tr>';
                 $('#p_table').append(tr);
                 break;
        }
    }
  </script>

1 个答案:

答案 0 :(得分:0)

问题是外部函数中的语法错误。在切换情况下设置goodbye时,应该在var tr处有一个:。我不是真的怎么回事。

固定代码:

+