$.ajax({
url:"<?= site_url('laporan/data_penjualan/') ?>",
type:'POST',
dataType:'JSON',
success:function(data){
var abc = data;
}
});
console.log(abc); // I want to use outside ajax
我如何在ajax外部使用db中的数据?
答案 0 :(得分:1)
您必须:
一个。使用promise object
function getData(){
return new Promise((resolve, reject) => {
$.ajax({
url:"<?= site_url('laporan/data_penjualan/') ?>",
type:'POST',
dataType:'JSON',
success:(data) => resolve(data)
});
};
}
getData().then(data => {
//data is your ajax response
});
B中。如果您的网站支持不支持Promise并且您没有填充的浏览器,请使用回调功能
$.ajax({
url:"<?= site_url('laporan/data_penjualan/') ?>",
type:'POST',
dataType:'JSON',
success: function(data){
ajaxComplete(data);
}
});
function ajaxComplete(data){
//data is your ajax response
}
答案 1 :(得分:0)
你可以在ajax start之前设置你的var abc
,然后在完成ajax之后设置val,但是你的console.log
必须使用某种方式在ajax完成后调用它,因为ajax是一个异步方法。 / p>
var abc;
$.ajax({
url:"<?= site_url('laporan/data_penjualan/') ?>",
type:'POST',
dataType:'JSON',
success:function(data){
abc = data;
}
});
// call console when you know the abc has been set
console.log(abc);
// Example for waiting by setInterval
// var timer = setInterval(function() {
// if(abc !== '') {
// // your code
// console.log(abc);
// clearInterval(timer);
// }
// }, 1000); // change this to your liking, doesn't really matter
答案 2 :(得分:0)
试试这个
var abc;
$.ajax({
url:"<?= site_url('laporan/data_penjualan/') ?>",
type:'POST',
async: false,
dataType:'JSON',
success:function(data){
abc = data;
}
});
console.log(abc);