У меня есть html-страница. После нажатия кнопки отправки запрос отправляется. Моя проблема в том, что заголовки запросов сбиты! Я использую IE, потому что это корпоративные ограничения.HTTP-заголовки стали внизу
<html>
<head>
<script language="JavaScript" type="text/javascript">
function AjaxRequest(url,callback,method){
var req = new XMLHttpRequest();
req.onreadystatechange= function(){
if(req.readyState != 4) return;
callback(req);
}
req.open(method,url,true);
var hdrsArr = document.getElementById('headers').value.split('&');
for (var i = 0; i < hdrsArr.length; i++){
var p = hdrsArr[i].split('=');
req.setRequestHeader(p[0],p[1]);
}
var params = document.getElementById('params').value ;
req.send(params);
}
function AjaxResponse(res){}
function MakeRequst(){
alert('');
var url = "http://localhost:8080/test-servlet/TestServlet";
AjaxRequest(url,AjaxResponse,"POST");
}
</script>
</head>
<body>
<input type='text' id="headers" size="200" value='key=value&SOAPAction=requestCreditBureau&Content-Type=text/xml;charset=UTF-8&Accept=text/xml'/><br>
<input type='text' id="params" size="200" value='<?xml version="1.0" encoding="UTF-8"?><CB_Document appl="00000000000127725161" >[....]</CB_Document>'/><br>
<input type='button' value='doPost' onClick="MakeRequst();"/><br>
<div id="response_div"></div>
</body>
</html>
Спасибо! Я отправляю заголовки приложениям наших партнеров, которые чувствительны к регистру и ждут параметра SOAPAction (не soapaction). – Dev
Просьба указать их в RFC 2616 и сообщить им, чтобы ** начать следующие стандарты **? :-) Более серьезно, к сожалению, нет никакого способа делать то, что вы хотите на стороне клиента. Вы можете запросить прокси-сервер через локальный скрипт или изменить ресивер. Боюсь, что это ваши два «реальных» варианта. –
(Если вы находитесь в деловых отношениях с этими партнерами, вы можете заставить их волноваться об этом, основываясь на технической некомпетентности, между прочим. Стоит немного сжать их, у вас есть преимущество, и они, вероятно, знают Это.) –