Permalänk

XMLHttpRequest - fråga

Jag har en enkel html-sida som mha XMLHttpRequest ska läsa in en sträng från en lokal textfil (dvs. placerad i samma mapp).

För att verifiera läsning så skrivs den vid ett knapptryck även ut på sidan mha innerHTML-anrop.

main.htm

<html> <head> <script type="text/JavaScript"> <!-- var htmlFileContent = new XMLHttpRequest(); function GetHTMLContent(htmlFileName){ htmlFileContent.open("GET", htmlFileName, true); htmlFileContent.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); htmlFileContent.onreadystatechange = function() { if (htmlFileContent.readyState == 4) { document.getElementById('change').innerHTML = htmlFileContent.responseText; } } htmlFileContent.send(null); } //--> </script> </head> <body> <div id="change">Orginal text</div> <BUTTON type="button" name="mybutton2" onClick="GetHTMLContent('resource.txt');">Byt text</BUTTON> </body> </html>

resource.txt

Bytt text

Detta funkar finfint i ex. Opera, men inte alls i IE8 (standardinställningar). Det är dessutom meningen att detta ska packas till en widget för WM6.5, men där fungerar det heller inte trots att (nästan) samma kod fungerar till Nokia som wtr-widget.

Det får mig att tro att det har att göra med någon restriktion eller dylikt hos vissa läsare för XMLHttpRequest, men jag kan inte hitta vilken.

Vad gäller widgets så är iaf config.xml filen som följer, och allt är packat i samma folder:

<?xml version="1.0" encoding="utf-8" ?> <widget version="1.0" xmlns="http://www.w3.org/ns/widgets" id=""> <name>Test</name> <content src="main.htm" type="text/html" /> <access network="true" /> <icon src="icon.png"/> <description>Testapp</description> </widget>

Någon som har nån tanke?

Visa signatur

Bro!

Permalänk

Vet inte om det hjälper dig men titta här

http://www.w3schools.com/Ajax/ajax_browsers.asp

Visa signatur

Abit AB9 Pro, E6600 @ 3200 MHz, 3gb ram 800 MHz 1:1, ATI 4890 GPU

Permalänk

Rekomenderar verkligen jQuery för ajax.
finns flera fördelar med jQuery.
ex behöver du inte tänka på olika webbläsare det funkar på dom som dom lista på sin sida.

för att ajaxa med jquery behöver du endast skriva detta

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min...."></script> <script type="text/JavaScript"> $.ajax({ url: "test.html", success: function(data){ $("#change").html(data); }}); </script>

Visa signatur

Abit AB9 Pro, E6600 @ 3200 MHz, 3gb ram 800 MHz 1:1, ATI 4890 GPU

Permalänk
Medlem

Håller med, jQuery is the shit.

Permalänk
Medlem

Skriver även jag under på att du ska köra med jQuery istället. Livet blir så mycket enklare då!

Visa signatur

EPoX 8RDA+, XP2500+, 2x256Mb PC3200 (DualCh), Club3D 9800PRO, Seagate 7200.7 160Gb 8Mb Limited edition

Permalänk

jQuery i all ära, men om man vill lära sig ajax från grunderna finns det bara en väg att gå

Visa signatur

/Mvh Stefan