FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Medlem
|
Jag tänkte göra ett litet JavaScript som vi skall använda på vårt intranät. När man för musen över en viss länk skall information hämtas in från en server dynamiskt och visas i en liten informationsbubbla.
Informationen på servern finns tillgänglig i bland annat XML. Jag vill att det på klienten skall fungera på så många webbläsare som möjligt, helst skall informationen hämtas på ett säkert sätt, precis i onmouseover ögonblicket. Antar att AJAX är ett bra sätt att lösa detta med, men jag vet inte riktigt var jag skall börja nysta. |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Mycket flitig postare
|
Det beror på hur mycket du vill lära dig. Antingen gör du det själv och lär dig massor. Eller, om du är helt ointresserad, så laddar du hem så mycket färdigt som möjligt och klipper ihop.
Men lär dig hantera javascript sedan är det i princip bara att googla på "ajax" och javascript för att hitta information om hur man skapar exempelvis GET-anrop och tar emot svar. För bästa resultat bör du använda ett serverside-språk såsom exempelvis PHP eller ASP, som först kan tolka filen och skicka ut rätt del. Det gör så att betydligt mindre information behöver skickas över nätet. Skulle en sådan bro vara out of question kan du fetcha xml-filen direkt och sedan plocka ut relevant information med Javascript. Men är XML-filen stor är det ett stort resursslöseri. |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Medlem
|
javascript, php, asp kan jag redan. men som jag förstått det är väl ajax ett helt framework som inkluderar säkra get-anrom m.m.?
|
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Klarade millennium-buggen
|
Nej. Ajax är bara samlingsnamnet på tekniken att använda XML som överföringsmedium av data via javascript.
Jag har sagt det förrut, men titta på prototype, sitepoint har en del tutorials med just prototype (det är ett framework som jobbar med bland annat ajax). |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Mycket flitig postare
|
Sedan kan jag förvisso anse att betydelsen av dessa "javascript-frameworks" är rätt överdriven. 50kb för ett framework som ger en lite syntetiskt godis vid kodning. 1 rad för att applicera en funktion på varje objekt i en array istället för att bara skriva ut for-loopen direkt - egentligen rätt meningslöst med tanke på vad man måste offra.
Jag tror att mycket av all denna hype beror på att många utvecklare tycker det är kul med något nytt. Nu när många börjar använda sig av javascript till större lösningar, "känns det bra att skriva nya metodanrop också" och därför ha olika frameworks som en brygga. Däremot, ett stort men. Använder man ett framework som exempelvis Ajaxpro som interagerar med ett serverspråk som exempelvis ASP.NET, då talar vi om något helt annat, _betydligt_ mer användbart vid stora projekt. Att kunna anropa ASP.net-klasser direkt ifrån klienten, skapa objekt, skicka fram och tillbaks, köra funktioner helt utan problem, konverteringar sköts automatiskt. Där har vi användbara ramverk för Ajax och Javascript. Edit: Naturligtvis märker (som i taggar) man explicit vilka klasser och metoder som ska vara tillgängliga och kan lägga tid på att skydda dem mot skadliga anrop Edit2: Har hört talas om att det ska finnas liknande för PHP, men har aldrig testat något. |
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Medlem
|
Tack för alla svar!
Det jag inte förstår är hur man gör en httprequest i javascript UTAN att exponera den url man använder för att hämta datan. I mitt fall vill jag inte att andra skall kunna göra request mot min url, utan jag vill att det skall finns någon autentisering eller liknande. men implementerar man det i javascript blir ju det också väldigt lätt att lista ut. all kod står ju där i klartext. hur löser man det? |
|||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Mycket flitig postare
|
Eftersom du generar sidan som skall göra ajax anropet kan du ju t.ex. generera en liten biljett som du sedan skickar med ditt anrop från javascript. Jag menar alltså att när sidan genereras så skapar du i databasen en liten nyckel (slumptal t.ex.) som måste finnas med då URLen som skall hämtas med javascript anropas. Giltighetstiden på denna nyckel kan ju vara ganska kort.
Ett an nat sätt är ju självklart att använda sig av en referer-kontroll, men det kjan ju alltid fejkas (och jag vet inte om requesten från javascript lägger på det default). Men referer kan som sagt alltid fejkas enkelt. Värt att notera är även att t.ex. firefox normalt inte tillåter att man från javascript accessar en annan host en just den sidan kommer ifrån. Dvs FF tillåter inte att du från sidan frontend.se via javascript gör en request mot backend.se även om det är samma maskin. frontend.se/some/other/script går ju dock självklart bra. |
||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Medlem
|
Ang. att man inte kan accessa en annan host: Hur gör exempelvis www. snap. com och pixel-grid . com/content/diggometer
den första hämtar dynamiskt in skärmdumpar. den andra hämtar in information om hur många som har diggat en viss nyhet. Detta sker så vitt jag förstår dynamiskt via javascript och httprequest, eller? |
|||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Mycket flitig postare
|
Vad ditt serverscript gör har ju inget med vad ditt javascript gör. Deras javascript gör med största sannolikhet en request till ett script på samma server som i sin tur gör externa requests för att hämta data. Inget konstigt med det.
|
||
![]() |
![]() |
![]() |
#10 | |||
|
||||
Medlem
|
Nja.. är du säker? I båda mina exempel räcker det väl med att inkludera ett javascript på sin sajt för att det skall fungera. Man behöver alltså inte lägga till något server side script för att det skall fungera. Så uppfattar jag det.
|
|||
![]() |
![]() |
Svara |
|
|