Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]javascript json response i pobranie danej jako var
Forum PHP.pl > Forum > Przedszkole
dvdx95
siema mam taki kod ktory zwraca mi date w json

  1. function(error, tradedata) {
  2. if (!error) {
  3. console.log(tradedata);
  4. }
  5. var datadec = tradedata;// tutaj zwraca mi cale tradedata jako json
  6. //*
  7. [{
  8. id : '1234324234',
  9. owner : '4324324',
  10. itd...
  11. }]
  12. //*
  13.  
  14. var itemid = (datadec.id);// zwraca undefined a chce zeby zwracało wartość z tradedate tam gdzie jest id.
  15. console.log(datadec);
  16. console.log(itemid);
  17. });


prosze o pomoc jak to zrobic zeby w tym var itemid pokazywalo sie id z tradedata a nie undefined sad.gif
dvdx95
ok dzieki za podpowiedz ale dalej nie rozwiazalem problemu , prosil bym o dalsza pomoc ,

moze tak bardziej to bym prosil jak wyciagnac dane z tego vara

var text = '[{
id : '1234324234',
owner : '4324324'

}]';

var id = JSON.parse(text.id);

nic nie wystakuje ;//
maviozo
Źle używasz cudzysłowów i apostrofów
ponadto tworzysz tablicę obiektów z jednym elementem, zatem dostęp byłby taki: datadec[0].id
dvdx95
maviozo dzieki wielkie kolego zmienilem var itemid = datadec[0].id; i zadzialalo , jestes wielki smile.gif
maviozo
Możesz kliknąć, że "pomógł", czy coś tam jest takiego.
Jeżeli jednak nie zamierzasz mieć więcej elementów, to trochę bezcelowo tworzysz tę tablicę. Daj
Kod
{
id : '1234324234',
owner : '4324324',
itd...
}
bez kwadratowych nawiasów.
dvdx95
i kolejny problem
  1. function(error, tradedata) {
  2. if (!error) {
  3. console.log(tradedata);
  4.  
  5.  
  6. }
  7.  
  8. var datadec = tradedata;
  9.  
  10.  
  11.  
  12. for(var j=0; j < num; j++) {
  13.  
  14. var itemn = addslashes(datadec[j].market_name);
  15. var itemid = datadec[j].id;
  16. var iconurl = datadec[j].icon_url;
  17. var namekolor = datadec[j].name_color;
  18. var cenaitema = mysqlConnection.query('SELECT `cost` FROM `items` WHERE `name` = \'' + itemn + '\'', function(err, row, fields) {
  19. console.log(cenaitema);//tutaj zwraca caly czas undefined(0) tzn nie pobiera z bazy danych ceny , nie wiem jak to zrobic zeby pobieralo
  20. });
  21. ;
  22. mysqlConnection.query('INSERT INTO `game' + current_game + '` (`userid`,`username`,`item`,`color`,`value`,`avatar`,`itemid`,`image`,`from`
    ,`to`) VALUES (\''
    + offer.steamid_other + '\',\'' + name + '\',\'' + itemn + '\',\'' + namekolor + '\',\'' + cenaitema+//tutaj chce miec wartosc z var cenaitema ale ciagle jest to 0
  23. '\',\'' + avatar + '\',\'' + itemid + '\',\'' + iconurl + '\',\''+current_bank+'\'+\'0\',\''+current_bank+'\'+\''+cenaitema+'\')', function(err, row, fields) {});
  24. mysqlConnection.query('UPDATE `games` SET `itemsnum`=`itemsnum`+1, `cost`=`cost`+\''+cenaitema+'\' WHERE `id` = \'' + current_game + '\'', function(err, row, fields) {});
  25. console.log(itemid);
  26. console.log(cenaitema);
  27.  
  28. itemsnum++;
  29. current_bank = parseFloat(current_bank + cenaitema);
  30.  
  31.  
  32.  
  33.  
  34. }
  35.  
  36.  
  37. });

prosil bym o pomoc

  1. for(var j=0; j < num; j++) {
  2. var wgg[j].id = datadec[j].id;
  3. var itemn = addslashes(datadec[j].market_name);
  4. var itemid = datadec[j].id;
  5. var iconurl = datadec[j].icon_url;
  6. var namekolor = datadec[j].name_color;
  7. mysqlConnection.query('SELECT `cost` FROM `items` WHERE `name` = \'' + itemn + '\'', function(err, row, fields) {
  8. console.log(cenaitema);
  9. var cena = row[0].cost;
  10. console.log(cost);
  11.  
  12. mysqlConnection.query('INSERT INTO `game' + current_game + '` (`userid`,`username`,`item`,`color`,`value`,`avatar`,`itemid`,`image`,`from`
    ,`to`) VALUES (\''
    + offer.steamid_other + '\',\'' + name + '\',\'' + itemn + '\',\'' + namekolor + '\',\'' + cenaitema + '\',\'' + avatar + '\',\'' + itemid + '\',\'' + iconurl + '\',\''+current_bank+'\'+\'0\',\''+current_bank+'\'+\''+cenaitema+'\')', function(err, row, fields) {});
  13. mysqlConnection.query('UPDATE `games` SET `itemsnum`=`itemsnum`+1, `cost`=`cost`+\''+cenaitema+'\' WHERE `id` = \'' + current_game + '\'', function(err, row, fields) {});
  14. console.log(itemid);
  15. console.log(cenaitema);
  16.  
  17. itemsnum++;
  18. current_bank = parseFloat(current_bank + cenaitema);
  19. });
  20.  
  21.  
  22.  


jak ustawie takie cos to niby jest cena ale tylko dla j=0 ale np kilka razy }

juz rozwiazalem problem
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.