發生這種情況的原因是您的var html = entries.join('');
在與先前的html變量重疊的成功回調中。只要html = entries.join('');
會工作。但是,請不要真正使用async: false
,因爲它是過時
這裏有一個更好的解決方案:
function fetchdata(callback){
$.ajax({
url:'/test.php',
data:{ action: 'fetch-data' },
dataType:'json',
success: function(data){
var entries = [];
$.each(data, function(id, val){
entries.push(val.sample);
});
var html = entries.join('');
callback(html);
}
});
}
$(document).on('click', 'a.btn.execute', function(e) {
e.preventDefault();
fetchdata(function(html){
$('div#container').html(html);
});
});
謝謝您,您的解決方案工作正常,我!還有一個問題;我應該怎麼做才能傳遞額外的參數給函數? – carlo
沒關係,明白了。 (fetchdata('parameter',function(html){...) – carlo