我在asp.net中创建了一个Web服务,并试图从域内的本地机器的html文件中访问它.
我收到了这个错误
XMLHttpRequest无法加载http://10.112.37.31/amanopoc/Service1.asmx.请求标头字段Access-Control-Allow-Headers不允许使用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);
}
Run Code Online (Sandbox Code Playgroud)
可以任何
在您的服务器上设置以下标头
Access-Control-Allow-Headers : SOAPAction
Run Code Online (Sandbox Code Playgroud)
你可能也需要
Access-Control-Allow-Origin : *
Access-Control-Allow-Methods : POST,GET,OPTIONS
Run Code Online (Sandbox Code Playgroud)
最后两个需要根据您的需求量身定制,但上述值应该让您工作.
| 归档时间: |
|
| 查看次数: |
9665 次 |
| 最近记录: |