我有一段代码可以检索程序中的最后一个问题,并且可以用最新的值来更新HTML5进度条的值。
现在由于某种原因我找不到,当我console.log data参数时,它已满。但是当我尝试使用它时,什么也没有显示。
我无法意识到的代码中有什么错误吗?
//Run timer
$(document).ready(function () {
if($('input[name=active_question]').val()!="")
{
start_timer();
}
});
function start_timer()
{
var x=0;
function doStuff() {
x++;
$('.timer').html(x+' sec');
console.log('Timer:'+x);
$.ajax({
method: "GET",
url: "/services/get_active_question/"
})
.done(function( data ) {
//It is time to regenerate the question values.
console.log('Data:'+data);
if(data['id']!=0)
{
regenerate_question(data);
}
});
}
setInterval(doStuff, 1000);
}
function regenerate_question(data)
{
if(data['id']!=0)
{
console.log('A: '+data['a']);
$('.progress-a').prop('value',data['a']);
$('.progress-b').prop('value',data['b']);
$('.progress-x').prop('value',data['x']);
$('.progress-y').prop('value',data['y']);
}
}
最佳答案
您从ajax返回的是json字符串。但是,ajax并未将其标识为JSON。因此,您需要将dataType
指定为JSON
。
$.ajax({
method: "GET",
url: "/services/get_active_question/",
dataType: 'json'
}).done(function( data ) {
//It is time to regenerate the question values.
console.log('Data:'+data);
if(data['id']!=0)
regenerate_question(data);
});
另一种方法是使用
data = JSON.parse(data)
在完成功能。
关于javascript - jQuery不从具有数据的现有数组中选择数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35343147/