reklama

AJAX předání hodnot do input elementů z PHP assoc array

ZAJDAN

  • *****
  • 1 786
    • Zobrazit profil
    • E-mail
PHP mi vrací hodnoty pomocí associativního pole:
[{"Letter":"S","Commission":"123456","Status":"SKLADEM","DeliveryDate":"4.3.","Path_to_Order":"server","Path_to_Data":"server"}]

Ajaxem bych chtěl jednotlivé hodnoty předat do existujících inputů type="text"
...
...něco jako
success: function(data) {
                                        $("[name=Letter]").val(data);
                                        }


nasměroval by mne někdo na správnou cestu?
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

reklama


robin martinez

  • *****
  • 789
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #1 kdy: 13. 03. 2019, 16:50:35 »
Kód: [Vybrat]

success: function(data) {
   $.each(data, function (k, v) {
   const $el = $("[name=" + k +  "]")
   
   if ($el.length) {   //esi jako existuje
     $el.val(v)
   }

}

One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.


I do Linux and spaghetti code in PHP

ZAJDAN

  • *****
  • 1 786
    • Zobrazit profil
    • E-mail
Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #2 kdy: 14. 03. 2019, 10:45:27 »
Kód: [Vybrat]

success: function(data) {
   $.each(data, function (k, v) {
   const $el = $("[name=" + k +  "]")
   
   if ($el.length) {   //esi jako existuje
     $el.val(v)
   }

}

díky za nasměrování, podělím se o funkční řešení:

Kód: [Vybrat]
success: function(json) {
$.each(json, function() {
    $.each(this, function(k, v) {
const $el = $("[name=" + k +  "]")
if ($el.length) {
$el.val(v)
      }
});
});
}
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

Kit

Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #3 kdy: 14. 03. 2019, 13:22:20 »
Nevrací to jako asociativní pole, ale jako JSON. Zpracovává se to metodou JSON.parse().

ZAJDAN

  • *****
  • 1 786
    • Zobrazit profil
    • E-mail
Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #4 kdy: 14. 03. 2019, 13:51:12 »
Nevrací to jako asociativní pole, ale jako JSON. Zpracovává se to metodou JSON.parse().
díky za info..

Já to ještě na úrovni PHP encoduju do jsonu a ten pak echuju ven a Ajaxem zpracovávám.
Každopádně i bez 'parse' to rozklíčuje a hodnoty vsadí přesně jak potřebuju.
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj


Kit

Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #5 kdy: 14. 03. 2019, 15:18:36 »
Nevrací to jako asociativní pole, ale jako JSON. Zpracovává se to metodou JSON.parse().
díky za info..

Já to ještě na úrovni PHP encoduju do jsonu a ten pak echuju ven a Ajaxem zpracovávám.
Každopádně i bez 'parse' to rozklíčuje a hodnoty vsadí přesně jak potřebuju.

To je právě špatně, takový skript je zranitelný. Proto parse().

Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #6 kdy: 14. 03. 2019, 15:56:35 »
Nevrací to jako asociativní pole, ale jako JSON. Zpracovává se to metodou JSON.parse().
díky za info..

Já to ještě na úrovni PHP encoduju do jsonu a ten pak echuju ven a Ajaxem zpracovávám.
Každopádně i bez 'parse' to rozklíčuje a hodnoty vsadí přesně jak potřebuju.

To je právě špatně, takový skript je zranitelný. Proto parse().

podle ceho soudis, ze nepouziva parse?

ByCzech

  • *****
  • 1 566
    • Zobrazit profil
    • E-mail
Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #7 kdy: 14. 03. 2019, 16:16:26 »
podle ceho soudis, ze nepouziva parse?

Každopádně i bez 'parse' to rozklíčuje a hodnoty vsadí přesně jak potřebuju.

ZAJDAN

  • *****
  • 1 786
    • Zobrazit profil
    • E-mail
Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #8 kdy: 14. 03. 2019, 16:36:36 »
ještě bych poprosil o radu jak řešit v Ajax success podmínky

v php mam:
Kód: [Vybrat]
       
....
$result = $prepared->fetchAll(PDO::FETCH_OBJ);

if (!$result) {
echo "neexistuje";
}

else {
        $json = json_encode($result);
        echo $json;
}

AJAX:
Kód: [Vybrat]
success: function(json) {
if (json.indexOf("neexistuje") ) { alert ("neexistuje") }
    else{
$.each(json, function() {
    $.each(this, function(k, v) {
const $el = $("[name=" + k +  "]")
if ($el.length) {
$el.val(v)
      }
});
});
}
}

problém je, že pokud PHP vrátí neexistuje, tak v ten moment to není json a Ajax ten json očekává.
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

ZAJDAN

  • *****
  • 1 786
    • Zobrazit profil
    • E-mail
Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #9 kdy: 14. 03. 2019, 17:00:04 »
Zatím jsem to vyřešil, že v Ajaxu tu podmínku nemám  a v php jsem si udělal návratové pole.
Pokud není záznam nalezen, tak to tohdle návratové pole vrátí:
Kód: [Vybrat]
if (!$result) {
$json_array[] = array("Letter"=>"Non", "Commission"=>"neexistuje", "Status"=>"NoN", "DeliveryDate"=>"NoN");
$json = json_encode($json_array);
echo $json;
}
dělá to to co potřebuji
ale verze s ajax podmínkou volající Alert by se také hodila
pokud nemáš trpělivost, pokud nemáš odpověď na dotaz, chceš ostatní posílat do kouta nebo je odrazovat, že na to nemají?...nemrhej síly a raději se nevyjadřuj...prostě to ignoruj

Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #10 kdy: 14. 03. 2019, 17:16:06 »
podle ceho soudis, ze nepouziva parse?

Každopádně i bez 'parse' to rozklíčuje a hodnoty vsadí přesně jak potřebuju.

ten callback success to dostane rozparsovane. Nekde se to parsovat musi.

ByCzech

  • *****
  • 1 566
    • Zobrazit profil
    • E-mail
Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #11 kdy: 15. 03. 2019, 09:08:14 »
podle ceho soudis, ze nepouziva parse?

Každopádně i bez 'parse' to rozklíčuje a hodnoty vsadí přesně jak potřebuju.

ten callback success to dostane rozparsovane. Nekde se to parsovat musi.

Já reagoval na to, podle čeho soudí Kit, že nepoužívá parse. Což neimplikuje, že to vidím stejně.

Re:AJAX předání hodnot do input elementů z PHP assoc array
« Odpověď #12 kdy: 15. 03. 2019, 10:25:06 »
Já reagoval na to, podle čeho soudí Kit, že nepoužívá parse. Což neimplikuje, že to vidím stejně.

ja reagoval na jeho prvni prispevek

Nevrací to jako asociativní pole, ale jako JSON. Zpracovává se to metodou JSON.parse().

 

reklama