2011-01-28 1 views
0

У меня есть 2 сервера, как работающие сайты R2/IIS7/ASP Классический (не может обойти любое из этого)Междоменное Post - Потеря POST данных

Сервер А что делает последующие вызовы:

Dim objXMLHTTP, xml 
Set xml = Server.CreateObject("Msxml2.ServerXmlHTTP.6.0") 

xml.Open "POST", templateName, false 
xml.setRequestHeader "Content-Type", "application/xml" 
xml.Send variables 

Где TemplateName это адрес сервера B (это шаблон сообщения электронной почты) ... и переменные значение имени пары строк, как строка запроса пароля = MyPassword & customerEmail = Уважаемая + Бобом, ....

Сервер B получает POST, но все POS T данные (пароль = MyPassword & customerEmail = Уважаемая + Боб, ....) отсутствует в POST

password = Request.Form("Password") 
customerEmail = Request.Form("CustomerEmail") 

Вышеуказанные значения пусты.

Вот и кикер. Все это работало на наших старых серверах (Windows Server 2003, IIS 6)

Но когда мы переехали, это перестало работать правильно.

Мой вопрос:

Что бы привести данные POST быть отброшено в IIS 7, когда все это работало в IIS 6? Я проработал около трех дней исследований в этой попытке много разных вещей, и ничего не сработало.

Данные POST просто исчезли.

ответ

0

Проблема связана с объявлением Content-Type. Он указывает, что почтовые данные представляют собой XML, а не пары имя/значение.

Вы должны использовать это вместо того, чтобы ...

xml.setRequestHeader "Content-Type", "application x-www-form-urlencoded" 
+0

Awesome, я дам, что попробовать. Спасибо за совет! –