Postingan lainnya
apakah bisa memiliki 3 json data dalam 1 ajax ?
permisi suhu saya ada pertanyaan apakah bisa memliki 3 data dalam 1 ajax. karena saya ada data seperti ini :
$.ajax({
method: "POST",
url: "data",
data: {"month":month}
})
.done(function(msg){
var hasil = JSON.parse(msg)
drilldown.series.push({
name: 'Shift 1',
id: month,
color: '#8FBC8F',
data: hasil,
});
});
data tersebut ngambil parameter month yang di kirim di controller dan model. saya memiliki 3 query yang ingin di ambil yang ada shift 1,2,3 dan di butuhkan semua dalam pembuatan grafik. pertanyaan
1. apakah bisa dalam 3 data di model tadi di parsing dalam 1 controller dan di panggil melalui 1 url doang 3 data tersebut ingin di json.
2. kalau ga bisa haruskah di buat 3 controller dan dalam 1 ajax ?
3. apakah harus di buat 3 ajax di dalem sana
mohon di kasih contoh juga kalau ga secara teori juga boleh makasih yang udah mau jawab yah suhu suhu di sini.
10 Jawaban:
coba pake array gan <pre> info = []; info[0] = 'hi'; info[1] = 'hello';
$.ajax({ type: "POST", data: {info:info}, url: "index.php", success: function(msg){ $('.answer').html(msg); } }); </pre> <a href='https://stackoverflow.com/questions/8890524/pass-array-to-ajax-request-in-ajax '>https://stackoverflow.com/questions/8890524/pass-array-to-ajax-request-in-ajax </a>
boleh tau cara menggunakan itu gimana mas ? karena ga ada keterangan pda SO nya
eh. sebentar salah keknya. coba liat modelnya gan
<pre> public function datagraphjan($hasil_bulan) { $query = $this->db->query("SELECT DATE (a.CreateDate) tanggal, MAX(b.total) total FROM tbDataTrans_Moll_In a JOIN ( SELECT DATE (a.CreateDate) tanggal, ROUND(SUM(a.qty)/1000) total FROM tbDataTrans_Moll_In a WHERE MONTH(a.CreateDate) = MONTH('$hasil_bulan') AND a.shift=1 GROUP BY DATE (a.CreateDate)) b ON DATE (a.CreateDate) = b.tanggal WHERE MONTH(a.CreateDate) = MONTH('$hasil_bulan') AND a.shift=1 GROUP BY DATE (a.CreateDate), a.Shift ORDER BY DATE(a.CreateDate) ASC"); if($query->num_rows() > 0){ foreach($query->result() as $datagraph){ $hasil[] = $datagraph; } return $hasil; } } </pre> perbedaanya pada bagian shift nya mas di jadikan 3
controller
<pre> $date = $this->input->post('tahun'); //ambil parameter $hasil = $this->Historymodel->DataBulan($date); $array = json_decode(json_encode($hasil), True); $array_baru = array(); foreach ($array as $value) { $name = $value['name']; $total = (int)$value['y']; $drilldown = $value['drilldown']; $result = array( 'name' => $name, 'y' => $total, 'drilldown' => $drilldown ); array_push($array_baru,$result); } echo json_encode($array_baru); // hasil yang di buat json </pre> apa harus di buat array pada bgain json ?
iya bener gan, tampung diarray jadi nanti bisa lebih dari 1 shift
controller seperti di atas gan kalau di buat 3 data json di situ kira kira bentuk nya gmn yah ?
<pre> class test extends MY_Controller { public function set() { $datajson1 = json_decode($_POST['datatable1'], true); $datajson2 = json_decode($_POST['datatable2'], true);
echo var_dump($datajson1);
echo var_dump($datajson2); exit;
} } </pre>
<pre> var array1= new Array(); var array2= new Array();
array1[0] ={ 'id':"0", 'nama':"test" }; array1[1] ={ 'id':"1", 'nama':"gorilla" };
array2[0] ={ 'id':"0", 'nama':"bisa gila" }; array2[1] ={ 'id':"1", 'nama':"lol" };
$.ajax({ type: "POST", url: "<?php echo base_url(); ?>" + "test/set", dataType: 'json', data: {datatable1: JSON.stringify(array1),datatable2: JSON.stringify(array2)}, success: function(msg){ console.log(msg); $('.answer').html(msg); } }); </pre>
ini sudah terjawab mas bener mas menggunakan array di dalam data jadi tinggal pemanggilannya saja