Kom ihåg mig?
Home Menu

Menu


AJAX problem

Ämnesverktyg Visningsalternativ
Oläst 2006-12-08, 12:20 #1
Sirsiljas Sirsiljas är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2005
Inlägg: 29
Sirsiljas Sirsiljas är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2005
Inlägg: 29
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>
Sirsiljas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-12-08, 18:38 #2
Sirsiljas Sirsiljas är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2005
Inlägg: 29
Sirsiljas Sirsiljas är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2005
Inlägg: 29
Jag märkte att jag skriv i fel forum, ber om ursäkt för detta.
Sirsiljas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-12-16, 14:44 #3
wmasterj wmasterj är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 17
wmasterj wmasterj är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 17
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.
wmasterj är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-12-19, 10:56 #4
doob doob är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 10
doob doob är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 10
Det fungerar bra för mig i IE6.

Edit: Tänk på att det tar 8 sekunder innan "sida.asp" laddas.
doob är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-12-19, 13:02 #5
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
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'); }
}
);
Du slipper bry dig om skillnaderna ie, firefox, opera etc.. bara en sån sak är värd tiden det tar att lära sig grunderna av prototype.
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-12-19, 15:22 #6
doob doob är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 10
doob doob är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 10
Fast i hans fall skulle det väll bli:

Kod:
var req = new Ajax.PeriodicalUpdater('lajvBody', 'sida.asp',{frequency:8});
Edit: sida.asp, inte sida.php.
doob är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-12-19, 15:44 #7
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Mmm.. jag tittade inte så noga på hans exempel
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-12-19, 19:53 #8
wmasterj wmasterj är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 17
wmasterj wmasterj är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2006
Inlägg: 17
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!
wmasterj är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:03.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017