我有以下div:
<div class="progress" id="progress-bar"></div>
以下带有ajax调用的javascript确实返回0作为数据。但是,当我将代码放入ajax调用的.done部分时,它不会将html内容添加到div中。当我将该代码放在javascript的开头时,进度条出现,其中45%的条填满。
$("#ipaddress_form").submit(function(e) {
var ipjs = $("#input_ipaddress").val();
var hostjs = $("#input_hostname").val();
var commjs = $("#input_comms").val();
$.ajax({
url: "include/handlingJS.inc.php",
type: "POST",
data: {
"ipjs": ipjs,
"hostjs": hostjs,
"commjs": commjs
}
}).done(function(data) {
alert(data);
if(data == 0) {
bar = $('#progress-bar');
bar.html('<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%"><span class="sr-only">45% Complete</span></div>');
}
});
});
我错过了什么吗?
答案 0 :(得分:0)
如果您在警报框中获取数据,则错误可能是
获取响应数据的格式。它可能不是整数值。
它可能是一个带有空格的字符串。
您可以尝试data.trim() == '0'
答案 1 :(得分:0)
if(parseInt(data) === 0) {
bar = $('#progress-bar');
bar.html('<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%"><span class="sr-only">45% Complete</span></div>');
}
答案 2 :(得分:0)
问题在于我提交表单的部分。我将表单提交事件更改为按钮单击事件:
$("#loading").on("click", function(e) {
// do ajax stuff here
}
但是,我不能解释它为什么会起作用。