Междоменный XMLHttpRequest в классическом ASP - PullRequest
2 голосов
/ 14 июня 2010

Мой код работает нормально, пока я не перенесу его на другой сервер с брандмауэром.После этого какая-то часть моего кода не работает.Кажется, это проблема POST в xmlhttp.Может кто-то указать мне правильное направление и как определить, является ли проблема с брандмауэром.Мой клиент настоял на том, чтобы я использовал классический 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 Ответ

1 голос
/ 04 апреля 2012

Это работает почти нормально для меня. Кажется, что на целевой странице есть перенаправление, которое вы вызываете, которое не может быть обработано. Кажется, это не проблема брандмауэра (возможно, прокси-приложение, такое как Charles или Fiddler, может помочь вам увидеть, есть ли проблемы со связью из-за вашего брандмауэра, но я так не думаю).

Поэтому попробуйте указать конечную страницу назначения:

SUBMIT_URL = "http://abc.go.com/confirm.asp"

Я действительно не вижу смысла в переменных тайм-аутов, если вы не отключили код перед публикацией здесь.

...