JSON tömb küldése

JSON tömb küldése
2012-06-14T17:11:28+02:00
2012-06-14T18:00:23+02:00
2022-11-26T01:30:39+01:00
again
Sziasztok.

Egy lekérdezés eredményét(tömb) szeretném elküldeni json-encode al majd a javascriptben azt feldolgozni, de kezdetben az is megteszi ha kiiratom.
Nem tudom sehogysem megirni a kodot h lefusson.

Jsüfuggveny

$(function(){ $('#name2').keyup(function(){ var a = $('#name2').val(); //console.log(a); $.post('http://localhost/PhpProject1/index.php/welcome/listAll', { "username":$('#name2').val()//ezt fogom elkuldeni postal a controllerben nem a inpout // nevevel hanem ezzel fogm hivatkozni }, function(data) { var jsonADataok = $.parseJSON($res); $.each(jsonADataok, function (id, value) { alert(value); }); }, 'json'); }); });

Kontroller

public function listAll() { $this->load->model('usermod'); $res = $this->usermod->getAll($this->input->post('username')); echo json_encode($res); }

Modell


public function getAll($user){ return $this->db->query("SELECT * FROM user WHERE username LIKE '%$user%'"); // $query = $this->db->get('user'); // return $query; }
Mutasd a teljes hozzászólást!
Egy függvény arra, hogy tudsz posztolni JSON tömböt.

$.postJSON = function(url, data, callback) { return jQuery.ajax({ 'type': 'POST', 'url': url, 'contentType': 'application/json', 'data': $.toJSON(data), 'dataType': 'json', 'success': callback }); };

És akkor lehet is JSON tömböt posztolni így:

$.postJSON('http://localhost/PhpProject1/index.php/welcome/listAll', { "username": $('#name2').val() }, function(data){ //TODO });

És így valóban az encode kell, hogy a tömböt értelmezhető legyen.

Szerk.:
Ne keyup metódusba rakd bele, hanem keypress.
Mutasd a teljes hozzászólást!

  • Amit most csinálsz az úgy néz ki, hogy egy egyszerű adatot postolsz át a php-nek. Minr leírtad a konrtollerben használsz egy json_encode függvényt, de ez esetben neked a json_decode kellne.
    Mutasd a teljes hozzászólást!
  • En a JS-bol a "username":$('#name2').val() itt postolom at az adatot amit megkap a Kontroller ugye erre meghiv egy modell fuggvenyt az elvegzi a lekerdezest $res = $this->usermod->getAll($this->input->post('username'));
    es itt a $res ben nekem benne van a leerdezes eredmenye.
    En ezt szeretnem visszakuldeni a JS-be.

    Olvastam hogy ilyenkor kell kodolni majd a JS-ben dekodolni.

    De meg nem tisztak ezek a fogalmak.

    Lenyegeben az lenne a cel hogyha en pl beirom a input mezobe hogy 'h' akkor nekem az adatbazisbol szedjen ki minden olyan usert akinek a neve 'h' val kezdodik.
    Visszakapom ezeket egy tommben majd JS ben szertnek egy select elemet felepiteni ezekbol.Google ben ugy kpatam meg ezeket hogy "Live search"
    Mutasd a teljes hozzászólást!
  • Egy függvény arra, hogy tudsz posztolni JSON tömböt.

    $.postJSON = function(url, data, callback) { return jQuery.ajax({ 'type': 'POST', 'url': url, 'contentType': 'application/json', 'data': $.toJSON(data), 'dataType': 'json', 'success': callback }); };

    És akkor lehet is JSON tömböt posztolni így:

    $.postJSON('http://localhost/PhpProject1/index.php/welcome/listAll', { "username": $('#name2').val() }, function(data){ //TODO });

    És így valóban az encode kell, hogy a tömböt értelmezhető legyen.

    Szerk.:
    Ne keyup metódusba rakd bele, hanem keypress.
    Mutasd a teljes hozzászólást!
  • Köszönöm szépen agyorssegítséget így már működik
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd