---
title: "Går det att hämta info från Javascript och få det till ASP sidor utan \"reload\"?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/159378-går-det-att-hämta-info-från-javascript-och-få-det-till-asp-sidor-utan-reload"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "saturday"
published: "2007-04-17T15:21:51.000Z"
updated: "2007-06-14T09:01:20.000Z"
replies: 19
views: 986
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/asp/159378-går-det-att-hämta-info-från-javascript-och-få-det-till-asp-sidor-utan-reload"
---

# Går det att hämta info från Javascript och få det till ASP sidor utan "reload"?

## #1 — saturday, 2007-04-17T15:21Z

Har ett script som på enklaste vis tar ut info åt mig via Javascript:

```
<script language="JavaScript" type="text/javascript">
var sWidth = screen.width;
var sHeight = screen.height;
var cDepth = screen.colorDepth;
</script>
```

Nu ska jag skicka över det till ASP för att till slut spara in det i en databas tillsammans med lite andra värden som jag plockar direkt via ASP.

Problemet är att jag bara känner till två sätt att överföra detta till ASP på och det är via querystring eller form. Problemet med dem båda är att man måste då ladda om sidan och sedan plocka värdena med request.\<det man skickat via\>. I och med att detta är en besöksräknare innebär det en redirect för att få detta att fungera vilket jag självklart vill undvika så att besökaren kan backa ur sidan.

Finns det något annat sätt att få in värdena i ASP koden utan att skicka in värdena via querystring/form? Eller kanske någon annan vettig lösning så att de kan backa ur sidan?

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

## #2 — cyprys, 2007-04-17T15:26Z

Den metoden de flesta besöksräknare använder exempelvis.

```
document.write("<scr"+"ipt src=\"http://dindomän.se/
hämta.asp?width=" + screen.width + "&height=" + screen.height + 
"&col=" + screen.colorDepth +"\"><\/scr"+"ipt>");
```

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

## #3 — saturday, 2007-04-17T15:29Z

> **cyprys skrev:**
>
> Den metoden de flesta besöksräknare använder exempelvis.
>
> ```
> document.write("<scr"+"ipt src=\"http://dindomän.se/
> hämta.asp?width=" + screen.width + "&height=" + screen.height + 
> "&col=" + screen.colorDepth +"\"><\/scr"+"ipt>");
> ```

Förstår nog inte riktigt eller så missförstod du min fråga. Jag hajar att du skriver ut sökvägen med de olika värdena som jag specificerat ovan, men hur får jag denna adress att köras först då? Förstår fortfarande inte hur jag kommer undan en redirect...

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

## #4 — saturday, 2007-04-17T15:33Z

Kan man göra en dirty lösning kanske genom att köra redirect'en, dvs inläsningen i databasen, via en iframe som man gömmer så att den inte syns kanske? Slog mig att det borde fungera och på så vis undvika att det inte går att backa... Ska pröva det om inte någon hinner med en bättre lösning. Återkommer med resultatet...

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

## #5 — Denkan, 2007-04-17T15:45Z

Ajax...?

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

## #6 — colione, 2007-04-17T16:29Z

varför krångla till det? Kör på cyprys lösning. iom att du sätter en asp-fil som script source så exekveras den vid inladdning har du då querystrings medskickade till den kan du läsa av dem.

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

## #7 — cyprys, 2007-04-17T16:56Z

Ett litet exempel så klarnar det nog. 

Skapa vilken .htm-fil som helst och klistra in koden:

```
<html><body>
<script language="JavaScript" type="text/javascript">
<!--
document.write("<scr"+"ipt src=\"taemot.asp?res=" + screen.width + "x" + screen.height + "&col=" + screen.colorDepth +"\"><\/scr"+"ipt>");
//-->
</script>
</body></html>
```

Skapa en fil taemot.asp i samma katalog där du hämtar upp querystring "res" samt "col" och spara ner dem hur du vill. Då kommer du se att att skriptet gör ett anrop till din asp-fil med skärmupplösningen skickad i querystringen. 

Skriptet ovan kör t.ex. /taemot.asp?res=2560x1600&col=32

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

## #8 — saturday, 2007-04-17T18:44Z

Ok, tack! Ska pröva.

Edit:
Har prövat men får JS error, syntaxfel.

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

## #9 — saturday, 2007-04-17T19:10Z

> **Denkan skrev:**
>
> Ajax...?

Kan inte AJAX, men om du har ett kodförslag på det jag vill göra sätter jag mig gärna in i det. :)

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

## #10 — cyprys, 2007-04-17T19:18Z

Syntaxfel? Beskriv gärna närmre då koden inte borde ge något. 

Däremot kan du få fel om du returnerar något konstigt från .asp-filen. Testa med att låta asp-filen endast returnera ett ";" exempelvis.

```
<%
' Hantera alla inparametrar och vad du vill mellan himmel och jord
request.querystring("width") 
...
%>[b];[/b]
```

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

## #11 — saturday, 2007-04-17T20:02Z

Jag skapar "index.html" med följande kod:
(Line: 2, Char: 1, Error: Syntax Error. Uppstår när jag kör sidan via localhost.)

```
<html><body>
<script language="JavaScript" type="text/javascript">
<!--
document.write("<script src=\"getStats.asp?res=" + screen.width + "x" + screen.height + "&col=" + screen.colorDepth +"\"><\/script>");
//-->
</script>
</body></html>
```

Och "getStats.asp" ser ut som följer:

```
<html>
<head>
	<title>Save stats</title>
</head>
<body>

<%
Dim myResolution, myColordepth

myResolution = request.querystring("res")
myColorDepth = request.querystring("col") + " bit"

response.write("Resolution: " + myResolution + "<br />Colordepth: " + myColordepth)
%>

</body>
</html>
```

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

## #12 — cyprys, 2007-04-17T20:07Z

Och om du skriver om getStats.asp till:

```
<%
Dim myResolution, myColordepth

myResolution = request.querystring("res")
myColorDepth = request.querystring("col") + " bit"

response.write("Resolution: " + myResolution + "<br />Colordepth: " + myColordepth)
%>;
```

 ... händer det något?

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

## #13 — Fredde Mannen, 2007-04-17T20:18Z

Problemet sitter i att man kan inte skriva ut en \<script\>\</script\> inom en \<script\>\</script\>

Låt den ladda in den som en bild istället.. för att slippa den där fula röda korset, sätt width=1 och height=1. Eller låt aspfilen skapa en bild som den visar.. :)

finns andra sätt.. men det är väl det enklaste..

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

## #14 — cyprys, 2007-04-17T20:22Z

> **Fredde Mannen skrev:**
>
> Problemet sitter i att man kan inte skriva ut en \<script\>\</script\> inom en \<script\>\</script\>

 Tja, eftersom jag använt lösningen själv flera gånger, en stor mängd besöksräknare använder metoden idag samt att jag sitter och tittar på en korrekt exekvering av min exempelkod utan några varningar, har jag tyvärr lite svårt att svälja ditt påstående. ;)

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

## #15 — Fredde Mannen, 2007-04-17T21:04Z

> **cyprys skrev:**
>
> Tja, eftersom jag använt lösningen själv flera gånger, en stor mängd besöksräknare använder metoden idag samt att jag sitter och tittar på en korrekt exekvering av min exempelkod utan några varningar, har jag tyvärr lite svårt att svälja ditt påstående. ;)

DÅ kan jag påpeka att den ger fel för mig i IE 7.0, men laddar jag in den som en bildfil istället funkar det primafint! ;)

Men visst kan man ladda in den i en script-tag..
// red, fixat med ett exempel. 

filen: index.html

```
<html><body>
<script src="getStats.js" type="text/javascript"></script>
<script type="text/javascript">
// Anropa stats..
Stats();
</script>
</body></html>
```

filen: getStats.js

```
function Stats() {
	var col = screen.colorDepth;
	var res = screen.width + "x" + screen.height;

	// anropa getStats.asp
	var report=document.createElement('script');
        report.type='text/javascript';
	report.id="reportStats";
	report.src='getStats.asp?res='+res+'&col='+col+'';
}
```

filen: getStats.asp 

```
<%
Dim col, res
col = request.querystring("col")
res = request.querystring("res")

' din kod för att lägga in det i databasen..
' ..
%>
```

Funkade fint i IE 7 i alla fall.. :) 
Och här använder den en script-tag i scripttaggen.. fast på ett annat sätt.. :)

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

## #16 — Troxy, 2007-04-17T21:32Z

Fredde Mannen, tummen upp för DOM-scripting (y) 
Helt klart mer elegant än document.write

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

## #17 — saturday, 2007-04-18T08:40Z

Tack så mycket för hjälpen! Fick dina grejer att fungera Fredde mannen så det fick bli lösningen och accepterat som slutgiltigt svar.

Vet inte varför jag inte fick din lösning att fungera cyprys, men jag förmodar att det är skit bakom knapparna (Jag).

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

## #18 — colione, 2007-04-18T09:05Z

Skäelt till att du inte fick cypryslösning att funka är för att du har tagit bort plusen mellan scr och ipt.

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

## #19 — saturday, 2007-06-08T14:46Z

Nytt dilemma:

Jag kör scriptet som ser ut:

```
<script language="JavaScript">
//GET STATS
function Stats() {
	var col = screen.colorDepth;
	var res = screen.width + "x" + screen.height;

	var report=document.createElement('script');
	report.type='text/javascript';
	report.id="reportStats";
	report.src='getStats.asp?res='+res+'&col='+col+'';
}

Stats();
</script>
```

Men, Firefox kör inte scriptet, dvs, körs inte getStats.asp med Firefox. Någon som har ett bra förslag på hur jag kan lösa det?

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

## #20 — Troxy, 2007-06-14T09:01Z

saturday, det där borde inte fungera någonstans. Som det ser ut nu så skapar du bara ett element, men lägger aldrig till det i själva dokumentet.

Använd *appendChild()* för att lägga till elementet i body:

```
<script type="text/javascript">
//GET STATS
function Stats() {
	var col = screen.colorDepth;
	var res = screen.width + "x" + screen.height;

	var report=document.createElement('script');
	report.type='text/javascript';
	report.id="reportStats";
	report.src='getStats.asp?res='+res+'&col='+col+'';
	[B]document.body.appendChild(report);[/B]
}

Stats();
</script>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/159378-går-det-att-hämta-info-från-javascript-och-få-det-till-asp-sidor-utan-reload
