2011-03-14 20 views
6
httpRequest.Open "POST", "www.example.com/handle.asp", False 
httpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
httpRequest.send data 
postResponse = httpRequest.response 

¿Cómo manejo la publicación del código anterior? en handle.asp En handle, quiero tomar los datos que se envían y agregarlos y luego enviar algo a la página de llamadas.Cómo enviar y manejar Http Post en asp?

Respuesta

16

@Uzi: He aquí un ejemplo -

somefile.asp llamando handle.asp que es la secuencia de comandos de procesamiento:

Option Explicit 

Dim data, httpRequest, postResponse 

data = "var1=somevalue" 
data = data & "&var2=someothervalue" 
data = data & "&var3=someothervalue" 

Set httpRequest = Server.CreateObject("MSXML2.ServerXMLHTTP") 
httpRequest.Open "POST", "http://www.example.com/handle.asp", False 
httpRequest.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
httpRequest.Send data 

postResponse = httpRequest.ResponseText 

Response.Write postResponse ' or do something else with it 

Ejemplo de handle.asp:

Option Explicit 

Dim var1, var2, var3 

var1 = Request.Form("var1") 
var2 = Request.Form("var2") 
var3 = Request.Form("var3") 

' Silly example of a condition/test ' 
If var1 = "somecondition" Then 
    var1 = var1 & " - extra text" 
End If 

' .. More processing of the other variables .. ' 

' Processing/validation done... ' 
Response.Write var1 & vbCrLf 
Response.Write var2 & vbCrLf 
Response.Write var3 & vbCrLf 
0

exactamente como lo haría manejar el publicado datos usualmente en ASP utilizando Request.Form("parameter") para leer valores POSTed y hacer lo que quiera con ellos.

Solo necesita asegurarse de devolver los datos del script de manejo en un formato fácilmente decodificable/utilizable por el script que realiza la solicitud POST.

Cuestiones relacionadas