---
title: "Ajax 'systemfel' i IE7"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/162923-ajax-systemfel-i-ie7"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "MickeA.com"
published: "2007-07-26T12:12:52.000Z"
updated: "2007-07-27T07:14:47.000Z"
replies: 9
views: 503
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/162923-ajax-systemfel-i-ie7"
---

# Ajax 'systemfel' i IE7

## #1 — MickeA.com, 2007-07-26T12:12Z

Tjena
Jag har en sida som utifrån valet i en \<select\> laddar in ett formulär via Ajax.
Sidan är XHTML Strict Valid och allt fungerar utmärkt i Firefox samt Opera.
Men när jag kör samma sida i Explorer 7, så laddas inte innehållet in och jag får scriptfelet:

```
systemfel -1072896658
```

Jag har testat att starta om IE, vilket inte gör någon skillnad.
Har även Googlat en del och de flesta saker man hittar är på Ryska alt. Spanska / Portugisiska, så det är inte mycket till hjälp.

Scriptet som sätter igång allt, ser ut såhär:

```
function fetch_content(fetch_what, template_id){
	var url =	"ajax-fetch.asp"
			+ "?fetch_what=" + fetch_what
			+ "&fetch_id=" + template_id;

	showLayer('loading-msg');
	my_ajax = new sack();
	my_ajax.requestFile		= url;
	my_ajax.onLoading		= function(){ showLayer('loading-msg'); };
	my_ajax.onError			= function(){ alert("An internal servererrror occoured, please contact us.\n"); hideLayer('loading-msg'); return false; };
	my_ajax.onCompletion		= function(){ document.getElementById('ajax-content').innerHTML = my_ajax.response; showLayer('ajax-content'); hideLayer('loading-msg'); };
	my_ajax.runAJAX();
}
```

Jag bifogar även ajax-filen, så ser ni hur allt hänger ihop.
Är det någon annan som dykt på samma fel, eller vet vad som ställer till det?

Tack!

Bilagor:

- [ajax.js.txt](https://www.webforum.nu/a/15401.txt)

Permalänk: https://www.webforum.nu/p/162923

## #2 — colione, 2007-07-26T12:17Z

Det problemet brukar vara relaterat till att du inte skickar tillbaka något charset på din request. Kör du apache prova lägga till detta i din .htaccess fil

```
AddDefaultCharset utf-8
```

Alternativt i php:

```php
header("Content-type: text/plain; charset=UTF-8");
```

Skickar du html:

```php
header("Content-type: text/html; charset=UTF-8");
```

Ja du förstår principen.. ;)

Permalänk: https://www.webforum.nu/p/2009368

## #3 — MickeA.com, 2007-07-26T12:53Z

Jo, har förstått att det har med det här att göra, men är inte med på hur jag löser det.
I filen 'ajax.js' har jag följande rader:

```
var self = this;
if (this.method == "GET") {
	totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString;
	this.xmlhttp.open(this.method, totalurlstring, true);
} else {
	this.xmlhttp.open(this.method, this.requestFile, true);
	try {
		[b]this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")[/b]
	} catch (e) { }
}
```

Antar att det är den fetstilta raden jag ska ändra på?
Det jag gör är att ladda en sida (genom asp...) med ett formulär.

Sidan är UTF-8 / Asp / MS-SQL.

Permalänk: https://www.webforum.nu/p/2009378

## #4 — colione, 2007-07-26T12:54Z

Nej, det är sidan som skickar tillbaka datan som ska ha det som header.

Permalänk: https://www.webforum.nu/p/2009380

## #5 — MickeA.com, 2007-07-26T13:23Z

Så, i mitt fall är det alltså filen 'ajax-fetch.asp' där jag ska lägga till detta?
Det konstiga är bara att jag i den filen inkluderar en "funcs-fil" där jag redan sätter headers och content-type.

Sätter jag den igen i filen, så får jag ett felmeddelande att denna inte kan sättas två gånger.

Permalänk: https://www.webforum.nu/p/2009388

## #6 — colione, 2007-07-26T13:29Z

Hmm, intressant. Om du plockar bort funktioner o.dyl då och bara skickar tillbaka dummy-grejs, får du samma resultat då om du provar med utan:

\<%Response.AddHeader %\>

Har du någon response.buffer satt?

Permalänk: https://www.webforum.nu/p/2009390

## #7 — MickeA.com, 2007-07-26T15:48Z

Ha, coolt, nu tog jag bort alla de raderna:

```
@LANGUAGE="VBSCRIPT" CODEPAGE="65001"
Session.CodePage = 65001
Response.CodePage = 65001
Response.Charset = "utf-8"
Response.Addheader	"Content-Type", "text/html; charset=utf-8"
```

Och då funkar det även i Explorer ;)
I den här applikationen kommer många olika språk hanteras, däribland ryska / polska / portugisiska mf. och det är viktigt alla alla tecken visas rätt.

Som jag förstått det hela så gör tex. *Response.Codepage* att formulärsdata skickas "på rätt sätt", alltså som UTF-8 i det här fallet.

Så, går det att säkerställa detta, och fortfarande få sakerna att fungera?

Permalänk: https://www.webforum.nu/p/2009424

## #8 — MickeA.com, 2007-07-26T16:18Z

Jo, hmm, nu börjar problemen.
I.o.m att jag tog bort raderna ovan så ser det ut såhär nu, där ÅÄÖ och andra 'ovanliga tecken' finns:

```
Du &#65533;r redan registrerad p&#65533; %SITE%
```

Hur löser man det här nu då?

Permalänk: https://www.webforum.nu/p/2009430

## #9 — colione, 2007-07-26T17:04Z

Denna:
Response.Charset = "utf-8"
Resulterar i samma som den här:
Response.Addheader	"Content-Type", "text/html; charset=utf-8"

Prova att tabort en, det borde inte spela nån roll, men man vet aldrig.
Sidan som tar emot datan, vilken kodning har den?

Permalänk: https://www.webforum.nu/p/2009442

## #10 — MickeA.com, 2007-07-27T07:14Z

Fick igång det kort efter mitt senaste inlägg, men missade att tala om det här.
Tog bort *Response.Addheader	"Content-Type", "text/html; charset=utf-8"* från min fil som skriver ut alla övriga headers.
I ajax filen behövde jag sedan inte ange något speciellt alls, för att det skulle fungera.

I nuläget fungerar det iaf. med åäö, så jag förutsätter att även det ryska alfabetet visas korrekt.

Tack!

Permalänk: https://www.webforum.nu/p/2009596

---

Tråden på webben: https://www.webforum.nu/amne/javascript/162923-ajax-systemfel-i-ie7
