Cześć,
Chciałem dowiedzieć się na temat jednego z rozwiązań.
Posiadam dwa pliki z klasami w php które zwracają mi wartości w JSON.
Chciałem zrobić ładowanie tych wartości za pomocą javascript. Problem polega na tym, że aby pobrać wartości z drugiego pliku PHP muszę przesłać parametr, który pobieram w pierwszym.
Czyli mam coś takiego:
var devices = $.post("PHP/espDevices.php",{menu: 0}); - to pobiera mi nazwy urządzeń oraz ich ID.
Teraz chciałbym, aby z drugiego pliku pobrać historię dla tych urządzeń wysyłając parametr ID pobrany z poprzedniego, czyli coś takiego.
$.post("PHP/espHistory.php",{menu : 0, deviceId : i tutaj id z poprzedniego }))
W jaki sposób można to zrealizować w JS.
Próbowałem zrobić to w taki sposób:
var devices = $.post("PHP/Devices.php",{menu: 0});
$.when(devices)
.then(function(dataDevices){
dataDevices = JSON.parse(dataDevices);
$.each(dataDevices,function(key,val){
$.when($.post("PHP/History.php",{menu : 0, deviceId : val.id }))
.then(function(history){
history =JSON.parse(history);
console.log(history);
})
})
Teoretycznie to działa, ale problem jest w tym, że dane są wyświetlane losowo w kolejności załadowania, a nie w kolejności w jakiej występują przy pobraniu z Device.php dlatego, że robię to za pomocą promise.
Czy mogę prosić o pomoc w jaki sposób najlepiej załadować dane z dwóch różnych plików (które zawracają JSON) gdzie do drugiego trzeba przekazać parametr z pierwszego i połączyć je jakoś w jedne zwracane wartości w kolejności występowania ich w zawartości json device.php ?