我如何在视图中使用来自ajax的javascript codeigniter中的数据

时间:2017-10-26 06:37:17

标签: javascript ajax codeigniter

$.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中的数据?

3 个答案:

答案 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);