我在asp.net中创建了一个Web服务,并尝试从域内的本地计算机的html文件中访问它。
我收到此错误
XMLHttpRequest无法加载http://10.112.37.31/amanopoc/Service1.asmx。 请求标头字段不允许使用SOAPAction 接入控制允许集管。
try {
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
catch (e)
{
xmlhttp = false;
}
if( xmlhttp )
{
xmlhttp.open ('POST', postUrl, true);
xmlhttp.onreadystatechange = function()
{
if( xmlhttp.readyState == 4 ) {
if (xmlhttp.status !=404)
{
//alert(xmlhttp.responseText);
//alert("TEST 1");
var xmlDoc = xmlhttp.responseText;
if(xmlDoc)
{
var x=xmlhttp.responseXML.selectSingleNode("//ObjectToXmlResult").text;
//var y=x.getElementByTagName("HelloWorldResult");
alert(x);
}
else
{
alert("xmlDoc is null");
}
}
else
{
alert("xmlhttp.status =" + xmlhttp.status );
}
}
};
xmlhttp.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
xmlhttp.setRequestHeader("SOAPAction", soapActionUrl);
xmlhttp.setRequestHeader("Content-Length", soapHeader.length );
xmlhttp.send(soapHeader);
}
可以任何
答案 0 :(得分:6)
设置以下标题
Access-Control-Allow-Headers : SOAPAction
您可能还需要
Access-Control-Allow-Origin : *
Access-Control-Allow-Methods : POST,GET,OPTIONS
最后两个需要根据您的需求量身定制,但上述值应该让您工作。