Swear Posted July 9, 2012 Report Share Posted July 9, 2012 XML fails šodienas kursam - http://www.bank.lv/vk/xml.xml . Un tad vai nu ar PHP vai jQuery izvelc LTL kursu. Iemetu diezgan labu jQuery tutu, kur ir parādīts kā to izdarīt - http://net.tutsplus....om-an-xml-file/ . Elementāri, Vatson :)! jQuery (vai drīzāk browseris) neatļauj cross-domain requestus, līdz ar to tas nedaudz var sarežģīt uzdevumu :) Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 9, 2012 Report Share Posted July 9, 2012 > jQuery (vai drīzāk browseris) neatļauj cross-domain requestus, līdz ar to tas nedaudz var sarežģīt uzdevumu :) JSONP. Bet, kā jau es sākumā arī teicu, labāk uzreiz izmanto PHP un POST rekvestu. Vai, ja negribi pārlādēt lapu, tad AJAX, kurš rezultātu iegūs no servera. Quote Link to comment Share on other sites More sharing options...
briedis Posted July 9, 2012 Report Share Posted July 9, 2012 > jQuery (vai drīzāk browseris) neatļauj cross-domain requestus, līdz ar to tas nedaudz var sarežģīt uzdevumu :) JSONP. jsonp XML gadījumā, rly? :) Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 10, 2012 Report Share Posted July 10, 2012 Nu jā, ne XML. :) Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted July 12, 2012 Report Share Posted July 12, 2012 (edited) Bet, kā jau es sākumā arī teicu, labāk uzreiz izmanto PHP un POST rekvestu. Vai, ja negribi pārlādēt lapu, tad AJAX, kurš rezultātu iegūs no servera. muļķības, valūtas kurss mainās 1 dienā. pie lapas ielādes paņem jaunāko, un ieraksti kā JS masīvu - objektu ( vai ja vajag tikai vienu , tad vispār elementāri ) un priekš kam tur līdzi staipīt jquery ? tur takš nepieciešmas pāris rindiņas max 10-20 rindiņas koda , takš nē jāstiepj līdzi pāris simtii Kb .. un VAI janoslogo serveris, katru reizi pārēķinot kursu un izrēķinot 2 mainīgos Edited July 12, 2012 by Grey_Wolf Quote Link to comment Share on other sites More sharing options...
xPtv45z Posted July 12, 2012 Report Share Posted July 12, 2012 Vispār jau jquery ir zem 100kb. Bet par noslodzi, kas rodas rēķinot 2 mainīgos es tev gan piekrītu!!!!!1111oneoneone Labāk ir katru rītu piecelties pirmajam un pašam ar roku kursu palabot! Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted July 12, 2012 Report Share Posted July 12, 2012 Labāk ir katru rītu piecelties pirmajam un pašam ar roku kursu palabot! priekš kam? - varbūt tev ir precīza informācija cikos LB dod jaunos kursus? un svētku dienās ? ( varu pateikt priekšā - tur nav stingri definēti nosacijumi ) kad klients pieprasa valūtas kursus - veic pieprasijumu uz LB, izlasa vajadzīgās valutas un izvada kā JS mainīgos Objektus pēc tam jau klienta galā visu rēķina JS - gan jau viņš gribēs pārbaudīt vairākas valūtas - un vairākas summas - vismaz 80% gadijumā tā būs ... P.S. par noslodzi domāju , ka nevajag vienam klientam katru reizi visu rēķināt servera galā. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 12, 2012 Report Share Posted July 12, 2012 Servera pusē veicam aprēķinus ņemot par pamatu kursu, kuru ar cron job ik pēc 24 h atjaunojam. Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted July 12, 2012 Report Share Posted July 12, 2012 (edited) Servera pusē veicam aprēķinus ņemot par pamatu kursu, kuru ar cron job ik pēc 24 h atjaunojam. kādēļ servera pusē ?? tiešām gribās visu laiku veikt pieprasijumus serverim ?? Par cron jā , var visu ielasīt kādā failā - kurš jau ir kā JS daļa , un tad tik includot pamat lapā .. tikai, kā jau minēju - uzmini nu cikos būss jaunais kurss .. -- P.S. savulaik dariju šādi: visus kursus ierakstiju DB , tiko klients pieslēdzas- pārbaudam vai jaunais kurss jau ir DB , ja nav veicam pieprasijumu LB, ierakstam DB un adodam klientam, tas dod vairākas priekšrocības , var dabūt arī vecos valutas kursus, izrēķināt kāpumus/kritumus utt... papildus var ielikt - teiksim 12 dienā, lai cron savāc jauno kursu ( ja nu neviens klients vel nav bijis ) -- edit: DB izmantoju jo nekad nevar zināt vai LB serveris nenobremzēs, piedevam pieprasijums uz citu serveri, vienmēr būs lēnāks nekā neliels SQL kverijs uz lokālo mašīnu .. Edited July 12, 2012 by Grey_Wolf Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 12, 2012 Report Share Posted July 12, 2012 > tiko klients pieslēdzas- pārbaudam vai jaunais kurss jau ir DB , ja nav veicam pieprasijumu LB, ierakstam DB un adodam klientam, Lūk, tā ir lieka resursu tērēšana. Kaut kāds viens HTTP rekvests nav nekas. To, protams, var darīt klienta pusē. Bet es neredzu tam jēgu. Quote Link to comment Share on other sites More sharing options...
v3rb0 Posted July 12, 2012 Report Share Posted July 12, 2012 http://www.bank.lv/lat/rss/kursi.php <!-- generator="Joomla! 1.5 - Open Source Content Management" --> heh! :> Quote Link to comment Share on other sites More sharing options...
briedis Posted July 12, 2012 Report Share Posted July 12, 2012 (edited) Man liekas, ka cron darbināšana ir lieka resursu tērēšana :) Iegūstam pēc pieprasījuma un iekešojam. <? $file = 'kursi.xml'; // Fails, kurā glabājas kursi $rates = ''; // Te glabāsies XML kursu dati $lifetime = 6 * 60 * 60; // kursi derīgi 6h $xml_url = 'http://www.bank.lv/lat/rss/kursi.php'; // Pārbaudam, vai saglabātie kursi vēl ir derīgi $last_modified = file_exists($file) ? filemtime($file) : 0; if(($last_modified + $lifetime) < time()){ // Kursam ir beidzies derīgums, ielādējam jaunu $rates = file_get_contents($xml_url); // Saglabājam lokālo kopiju file_put_contents($file, $rates); }else{ // Saglabātie kursi vēl ir derīgi, lietojam tos $rates = file_get_contents($file); } // Šeit apstrādājam kursu XML datus un izvelkam vajadzīgo vērtību echo $rates; Kodu varētu vēl pielabot, kas pārbaudītu, vai jaunie kursi ir veiksmīgi iegūti. Ja nav, tad izmantot veco kursu kopiju. Edited July 12, 2012 by briedis Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 12, 2012 Report Share Posted July 12, 2012 > Man liekas, ka cron darbināšana ir lieka resursu tērēšana :) Nē — viss ko tas dara ir noteiktā laikā izsauc kkādu komandu (mūsu gadījumā, PHP skriptu). Bet tavs variants arī ir lietojams. Jo, atšķirībā no Grey_Worlf varianta, netiek veikts pierasījums uz attālināto resursu katru reizi. Quote Link to comment Share on other sites More sharing options...
briedis Posted July 12, 2012 Report Share Posted July 12, 2012 Bet tavs variants arī ir lietojams. Jo, atšķirībā no Grey_Worlf varianta, netiek veikts pierasījums uz attālināto resursu katru reizi. Īstenībā, tas ko teica Pelēkais Vilks jau ir tas, ko es uzrakstīju: "tiko klients pieslēdzas- pārbaudam vai jaunais kurss jau ir DB , ja nav veicam pieprasijumu LB, ierakstam DB un adodam klientam," Viņa variantā skatamies, vai šodienas kurss glabājas DB. Ja nav - ielādējam uzreiz. Kā sapratu, tiek glabāta arī iepriekšējo kursu vēsture, kas ļauj tad arī taisīt statistikas līknes... Quote Link to comment Share on other sites More sharing options...
daGrevis Posted July 12, 2012 Report Share Posted July 12, 2012 Skaidrs. Es sapratu, ka viņš katru reizi grib ņemt infu no attālinātā resursa. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.