![](/img/trans.png)
[英]I want to pass data in codeigniter from view using ajax post, process that data in controller and send back the result array to view
[英]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.