[ASP] Microsoft.XMLHTTP

Pagina: 1
Acties:
  • 102 views sinds 30-01-2008
  • Reageer

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Ik heb 2 pagina's, test1.asp en test2.asp. Nu wil ik met het object Microsoft.XMLHTTP GET data naar test2.asp sturen en de response html tonen.

In test2.asp doe ik gewoon een loopje om alle querystring variabelen weer te geven.

Het probleem is dat er iets bij de send method fout lijkt te gaan, ik krijg namelijk wel responsetext, maar zie geen enkele variabele. Ik vermoedt dat het aan mijn versie van msxml.dll ligt, maar heb volgens mij de nieuwste geinstalleerd. Zou iemand de volgende 2 scriptjes even kunnen copy/pasten en opslaan als respectievelijk test1.asp en test2.asp en ff kijken wat de output is (dus of jij wel data mee kan sturen en deze variabelen op kan halen met request.querystring..) je moet misschien ff de url in test1.asp regel 18 aanpassen.

Alvast vet bedankt !!

test1.asp:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ Language="VBScript" %>
<%
Response.Expires = 60
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"

Function GetURL(url)
  Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
  With Retrieval  
    .Open "GET", url, False  
    .Send "variable1=eerstewaarde&variable2=tweedewaarde"
    GetURL = .ResponseText
  End With
End Function

Response.Write GetURL("test2.asp")
%>

test2.asp:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@ Language="VBScript"%>
<%
Response.Buffer = False
Response.Expires = 60
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
For Each item in Request.Querystring
  strPostData = strPostData & item & "=" & Request.Querystring(item) & "&"
Next
Response.Write "PostedData: " & strPostData
Response.Write "Requestmethod: " & Request.ServerVariables("REQUEST_METHOD")
%>

Verwijderd

Als je ipv GetURL("test2.asp") nou es GetURL("http://localhost/test2.asp") gebruikt? of waar ie ook mag staan.

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Dat zeg ik dus:
"je moet misschien ff de url in test1.asp regel 18 aanpassen."
Maarruh, niemand die dit script ff wil testen op zijn w2k server??
:?

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Dit is bij mij de output:
code:
1
PostedData: Requestmethod: GET

Maar hij zou dus gewoon Dit moeten laten zien:
code:
1
PostedData: variable1=eerstewaarde&variable2=tweedewaarde Requestmethod: GET

Iemand een iede waar dit aan kan liggen :?

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Is er niemand die even kan testen of dit aan de code ligt of dat het aan mijn versie van msxml.dll ligt?

Het kost je max. 5 min...

:'(

Verwijderd

Je code doet het inderdaad niet..
dit doet het wel bij mij:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<%@ Language="VBScript" %>
<%
Response.Expires = 60
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
Function GetURL(url)
  Set Retrieval = Server.CreateObject("Msxml2.XMLHTTP")
  With Retrieval  
    .Open "POST", url & "?variable1=eerstewaarde&variable2=tweedewaarde", false  
    .Send 
    GetURL = .ResponseText
  End With
End Function

Response.Write GetURL("http://localhost/arjan/tmp/test2.asp")
%>

<%@ Language="VBScript"%>
<%
Response.Buffer = False
Response.Expires = 60
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
For Each item in Request.Querystring
  strPostData = strPostData & item & "=" & Request.Querystring(item) & "&"
Next
Response.Write "PostedData: " & strPostData
Response.Write "Requestmethod: " & Request.ServerVariables("REQUEST_METHOD")
%>

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Maar wat als ik nou Post variabelen door wil sturen, dan kan ik die niet zomaar in de URL zetten, die moet ik wel met de send property meegeven, maar dit werkt op één of andere manier niet..

IS er dan een andere manier om Post variabelen door te sturen naar een andere ASP pagina?

Verwijderd

'IS er dan een andere manier om Post variabelen door te sturen naar een andere ASP pagina?'

dat vroeg ik mij dus ook net af. vandaar dat ik dit topic effe omhoog haal

Verwijderd

Als de pagina's op de zelfde server staan is het simpel. Je geeft dan niet de POST door, maar de pagina zelf:
code:
1
Server.Transfer("test2.asp")

edit:
Je moet dan wel IIS5 (win2k) hebben :9

Verwijderd

Je schrijft:
code:
1
2
3
For Each item in Request.Querystring
  strPostData = strPostData & item & "=" & Request.Querystring(item) & "&"
Next

Maar het volgende is toch veel gemakkelijker?
code:
1
 strPostData = CStr( Request.QueryString )

Verder zie ik dat je een POST doet. Dan moet je volgens mij de volgende code toevoegen:
code:
1
Retrieval.setRequestHeader("Content-Type","x-www-form-urlencode")

Ik hoop dat het werkt
Pagina: 1