Just nu i M3-nätverket
Gå till innehåll

Vad gör jag för fel? - Querystring


Peter J

Rekommendera Poster

Hej!

Jag är nybörjare med flash och actionscripting, och jag har en fråga om hur jag skall göra för att visa innehåll i varialar från en asp sida?

Jag vill kunna skriva en querystring på sidan där min flashfilm ligger i och sen skall värdet i min querystring visas i min flash film.

 

---

 

Jag har gjort så här:

 

 

index.asp

(sidan med flash filmen och mina variabler)

 

<%
dim test
test=Request.Querystring("test")
if Len(test) = 0 then
test= "skriv en querystring"
%>

 

--

 

test.swf

(flash filmen)

 

Fångar upp variablerna i "index.asp".

this.loadVariables("index.asp");

 

Sen så gör jag en dynamisk text fält där jag skriver in namnet på den variabel som jag vill visa (detta fall "test") i furmuläret "Variabel:"

 

--

 

Detta skall väl visa värdet av min querystring i flash filmen? men det gör det inte?

Vad har jag glömt, vad har jag gjort för fel??

 

Tack på förhand // Peter J

 

[inlägget ändrat 2002-12-20 16:51:35 av Peter J]

[inlägget ändrat 2002-12-20 16:52:23 av Peter J]

Länk till kommentar
Dela på andra webbplatser

  • 4 veckor senare...

Du har missat en väsentlig sak, och det är att din ASP-fil inte spottar ur sig något. Surfa till den så får du se att du inte ser något. Alltså ser inte Flash heller något.

 

Flash kan inte tolka ASP, det kan bara ASP-motorn på webbservern. När Flash anropar din ASP-fil så får den samma svar som om du surfar till ASP-filen.

 

Alltså, ASP-filen måste generera någon text, t ex en Response.Write som skriver ut det du vill att Flash ska få se. Ta en titt på detta inlägg (längst ned) så klarnar det kanske:

 

//eforum.idg.se/viewmsg.asp?EntriesId=366384

 

Observera också att du verkar ha blandat in QueryString i sammanhanget. I din ASP-kod så skriver du

 

test=Request.Querystring("test")

Eftersom du anropar ASP-filen från Flash på formatet

 

this.loadVariables("index.asp");

så är ju QueryString tomt (det står inget ? efter index.asp i anropet ovan), vilket innebär att din variabel test också är tom.

 

[inlägget ändrat 2003-01-15 09:37:21 av .sun]

[inlägget ändrat 2003-01-20 13:41:59 av .sun]

Länk till kommentar
Dela på andra webbplatser

Ett enkelt sätt:

 

-- sidan där flashen ligger --

 

<%
dim test
test = Request.Querystring("test")
If Len(test) = 0 Then
test = "skriv en querystring"
%>

 

-- samma sida, i flash taggen --

 

.. PARAM NAME=movie VALUE="flash.swf?test=<%= test %>"> .. <EMBED src="flash.swf?test=<%= test %>" ..

 

Nu kommer det att finnas en variabel (_root.test) som innehåller värdet av querystringen.

 

Länk till kommentar
Dela på andra webbplatser

Va? Har du testat?

 

Vad är det som är ändrat eg? Du har satt att test = "skriv en querystring" vilket innebär att du i "flashtaggen" får värdet

flash.swf?test=skriv en querystring

 

Men du lär inte få någon variabel _root.test i Flashfilmen, för Flash kan inte läsa det som kommer efter ? i sökvägen till filmen.

 

Rätta mig om jag har fel.

 

Länk till kommentar
Dela på andra webbplatser

Den översta aspkoden tog jag från Peter J:s inlägg. Den kommer bara att skriva ut "skriv en querystring" om querystringen är tom (tror jag, är ingen höjdare på asp).

 

I övrigt så kommer det att funka. Testa så får du se. De flesta annonssystem använder sig av detta om man ska köra flashbanners (för att få in deras klickurl i flashen). Det är inte alltid som det funkar att köra lokalt, iallafall inte på Windows. Utan lägg upp det på en server.

 

[inlägget ändrat 2003-01-20 15:09:04 av Laslo]

Länk till kommentar
Dela på andra webbplatser

Orkar inte testa, men nej - Peters inlägg skriver nämligen inte ut någonting. Det finns ju ingen Response.Write i hans kod. Anropar du den sidan så blir det tomt på skärmen.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...