FAQ |
Kalender |
2006-12-08, 12:20 | #1 | ||
|
|||
Nykomling
|
Hej
Jag har ett AJAX script som hämtar texten från en sida och visar den i en div lajvBody. Scriptet fungerar mycket bra i FireFox, men jag får inte det att fungera alls i IE. Jag har felsökt scriptet men pga att jag är nybörjare när det gäller AJAX så har jag inte lyckats lokalisera problemet. Vet ni vad problemet kan vara? Kod:
<script language="javascript" type="text/javascript"> <!-- function makeRequest(url) { var http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari, ... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/html'); // See note below about this line } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } http_request.onreadystatechange = function() { alertContents(http_request); }; http_request.open('GET', url, true); http_request.send(null); } function alertContents(http_request) { if (http_request.readyState == 4) { if (http_request.status == 200) { document.getElementById('lajvBody').innerHTML = http_request.responseText; } else { document.getElementById('lajvBody').innerHTML = 'Ett fel uppstod'; } } } var interval = setInterval("makeRequest('sida.asp')",8000); //--> </script> |
||
Svara med citat |
2006-12-08, 18:38 | #2 | ||
|
|||
Nykomling
|
Jag märkte att jag skriv i fel forum, ber om ursäkt för detta.
|
||
Svara med citat |
2006-12-16, 14:44 | #3 | ||
|
|||
Nykomling
|
Jag kan inte se några direkt fel här men du kan köra dit script genom www.jslint.com där kan du verifiera dina script för att söka efter fel.
Du kan ju också använda andras bibliotek för XMLHttpRequest - som YUI(Yahoo User INterface) eller GWT(Google Web Toolkit). Tror YUI är det enklaste och går snabbast att lära sig. Dom erbjuder också mycket DOM-funktioner som gör det enklare att hantera vad som händer med dom AJAX svar man får. |
||
Svara med citat |
2006-12-19, 10:56 | #4 | ||
|
|||
Nykomling
|
Det fungerar bra för mig i IE6.
Edit: Tänk på att det tar 8 sekunder innan "sida.asp" laddas. |
||
Svara med citat |
2006-12-19, 13:02 | #5 | ||
|
|||
Klarade millennium-buggen
|
Sirsiljas, använd prototype istället, det är ett javascripts bibliotek som hjälper dig _MYCKET_ med din ajax-utveckling;
Kod:
var req = new Ajax.Request( 'sida.asp', { onComplete: function(transport) { alert('klart, datat finns i transport.responseText'); } } ); |
||
Svara med citat |
2006-12-19, 15:22 | #6 | ||
|
|||
Nykomling
|
Fast i hans fall skulle det väll bli:
Kod:
var req = new Ajax.PeriodicalUpdater('lajvBody', 'sida.asp',{frequency:8}); |
||
Svara med citat |
2006-12-19, 15:44 | #7 | ||
|
|||
Klarade millennium-buggen
|
Mmm.. jag tittade inte så noga på hans exempel
|
||
Svara med citat |
2006-12-19, 19:53 | #8 | ||
|
|||
Nykomling
|
Om man ska rekommendera toolkits/bibliotek så tror jag jQuery är ett bättre alternativ. (
Systementor: (om skillnaderna mellan jQuery och Prototype) - Bättre dokumentation - Lättare att lära sig - Enklare syntax - Mer troligt att växa i kvalitet och funktionalitet. - "Prototype" användare som ofta bytt till just "jQuery" - Plug-ins Jag har nämligen gjort lite koll här och var och börjat testa en rad olika bibliotek och det jag kommit fram till hittills är att jQuery ser bäst ut. Hoppas det löser sig Sirsiljas! |
||
Svara med citat |
Svara |
|
|