经典ASP中的跨域XMLHttpRequest

时间:2010-06-14 12:22:50

标签: asp-classic xmlhttprequest

我的代码工作正常,直到我将其迁移到另一台带防火墙的服务器。从那以后,我的部分代码无效。它似乎是xmlhttp POST问题。有人可以指出我正确的方向,以及如何确定防火墙是否是问题。我的客户坚持让我使用经典的asp,所以我无法升级到.net。

Dim objHttp
SUBMIT_URL = "http://www.abc.com/confirm.asp"

Call Process()

 Public Sub Process()

  set objHttp = Server.CreateObject("Microsoft.XMLHTTP")

  'set the timeout values in milliseconds
  lResolve = 1 * 1000
  lConnect = 1 * 1000
  lSend  = 2 * 1000
  lReceive = 2 * 1000

  objHttp.open "POST", SUBMIT_URL, false
  objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
  objHttp.Send str
  if err.number <> 0 then
   Response.Write "Error : " & err.Description
   err.Clear 
  end if

 End Sub

1 个答案:

答案 0 :(得分:1)

它对我来说几乎没用。似乎您正在调用的着陆页上有一个无法处理的重定向。似乎不是防火墙问题(也许像Charles或Fiddler这样的代理应用程序可以帮助您查看防火墙是否存在通信问题,但我不这么认为。)

因此,请尝试指向最终目标页面:

SUBMIT_URL =“http://abc.go.com/confirm.asp”

我没有真正看到超时变量的重点,除非你在发布之前删除了代码。