我想申請的getStatus
功能就在這裏:通AJAX數據到另一個功能
function getStatus(id)
{
$.ajax({
method: "POST",
url: '<?php echo base_url('marketplace/get_store_status'); ?>/'+id,
dataType: 'json',
success: function(data){
return data.status;
}
});
}
進入這個功能就在這裏:
$('#store-status').click(function() {
var id = getStatus(<?php echo $vendor->store_id; ?>);
if (id == 1) {
$('#btn-status')
.removeClass('btn-danger')
.addClass('btn-primary')
.text('Activate');
} else {
$('#btn-status')
.removeClass('btn-primary')
.addClass('btn-danger')
.text('Deactivate');
}
console.log(id);
$('#modal-status').modal('show');
});
但是當我登錄的id
變量的元素點擊功能進入控制檯,它顯示undefined
。
但是,當我從getStatus函數本身記錄成功數據時,它顯示正確的數據。我在代碼中做錯了什麼?
在<?php echo $ vendor-> store_id中返回什麼值? ?>'? – Black
曾聽說過回調 – Beginner
Ajax中的getStatus代表異步。這意味着發送請求(或接收響應)將從正常執行流程中取出。在你的例子中,$ .ajax立即返回,並且在成功回調函數傳遞的函數被調用之前執行下一條語句return result;。 **可能的解決方案** 基本上有兩種方法可以解決這個問題: 使AJAX調用同步(讓我們稱它爲SJAX)。 重構您的代碼以使用回調正常工作。 – user3790694