ajax 成功中的函数调用不起作用



我在 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>

问题是外部函数中的语法错误。在开关情况下设置var tr时,+应该在:。我真的不是怎么发生的。

固定代码:

<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>  

最新更新