簡體   English   中英

我如何在Ajax中使用JavaScript Codeigniter中的數據

[英]How I use data in javascript codeigniter from ajax in view

$.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的數據?

您將必須:

A.使用承諾對象

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的瀏覽器並且沒有Polyfill,請使用回調函數

$.ajax({
    url:"<?= site_url('laporan/data_penjualan/') ?>",
    type:'POST',
    dataType:'JSON',
    success: function(data){
        ajaxComplete(data);
    }
});

function ajaxComplete(data){
    //data is your ajax response
}

您可以在ajax啟動之前設置var abc ,然后在完成ajax之后設置val,但是console.log必須在ajax完成之后使用某種方式來調用它,因為ajax是異步方法。

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

嘗試這個

var abc;
    $.ajax({
        url:"<?= site_url('laporan/data_penjualan/') ?>",
        type:'POST',
        async: false,
        dataType:'JSON',
        success:function(data){
        abc = data;
    }
});
console.log(abc);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM