Jump to content
php.lv forumi

Recommended Posts

  • Replies 31
  • Created
  • Last Reply

Top Posters In This Topic

Posted

> 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.

Posted

> 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? :)

Posted (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 by Grey_Wolf
Posted

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!

Posted

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ā.

Posted

Servera pusē veicam aprēķinus ņemot par pamatu kursu, kuru ar cron job ik pēc 24 h atjaunojam.

Posted (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 by Grey_Wolf
Posted

> 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.

Posted (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 by briedis
Posted

> 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.

Posted

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...

Posted

Skaidrs. Es sapratu, ka viņš katru reizi grib ņemt infu no attālinātā resursa.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...