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.

avatar Ridhoa
@Ridhoa

129 Kontribusi 33 Poin

Diperbarui 6 tahun yang lalu

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>

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

boleh tau cara menggunakan itu gimana mas ? karena ga ada keterangan pda SO nya

avatar Ridhoa
@Ridhoa

129 Kontribusi 33 Poin

Dipost 6 tahun yang lalu

eh. sebentar salah keknya. coba liat modelnya gan

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

<pre> public function datagraphjan($hasil_bulan) { $query = $this-&gt;db-&gt;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-&gt;num_rows() &gt; 0){ foreach($query-&gt;result() as $datagraph){ $hasil[] = $datagraph; } return $hasil; } } </pre> perbedaanya pada bagian shift nya mas di jadikan 3

controller

<pre> $date = $this-&gt;input-&gt;post('tahun'); //ambil parameter $hasil = $this-&gt;Historymodel-&gt;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' =&gt; $name, 'y' =&gt; $total, 'drilldown' =&gt; $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 ?

avatar Ridhoa
@Ridhoa

129 Kontribusi 33 Poin

Dipost 6 tahun yang lalu

iya bener gan, tampung diarray jadi nanti bisa lebih dari 1 shift

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

saranya dong di controller nya gimana mas

avatar Ridhoa
@Ridhoa

129 Kontribusi 33 Poin

Dipost 6 tahun yang lalu

controller yg sekarang kenapa gan?

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

controller seperti di atas gan kalau di buat 3 data json di situ kira kira bentuk nya gmn yah ?

avatar Ridhoa
@Ridhoa

129 Kontribusi 33 Poin

Dipost 6 tahun yang lalu

<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: "&lt;?php echo base_url(); ?&gt;" + "test/set", dataType: 'json', data: {datatable1: JSON.stringify(array1),datatable2: JSON.stringify(array2)}, success: function(msg){ console.log(msg); $('.answer').html(msg); } }); </pre>

avatar sanlie
@sanlie

22 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

ini sudah terjawab mas bener mas menggunakan array di dalam data jadi tinggal pemanggilannya saja

avatar Ridhoa
@Ridhoa

129 Kontribusi 33 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban