我遇到了 IE 问题(仅 IE8+,Chrome 工作正常),当我尝试将信息发布到我网站上的另一个页面时,我收到一条错误消息,提示“http://localhost:7230
在 Access-Control-Allow-Origin 标头中找不到来源” . 我知道这在某种程度上与 CORS 有关,但我不会离开我的领域。
发送请求的页面是:http://localhost:7230/TestPage.aspx
我要发布到的页面http://localhost:7230/ActionHandler.aspx
发布到页面的代码:
function RequestData()
{
//If we have no data don't request anything, just reset the timer
if (dataStore.topReadings.length == 0 && dataStore.specifiedRanges.length == 0 && dataStore.entireRanges.length == 0 && dataStore.periodRanges.length == 0)
{
setInterval(RequestData, options.interval);
}
var params = "?Action=GET_DATA";
var body = GetRequestXML();
var xmlhttp;
if (window.XDomainRequest) // code for IE8 and IE9
{
xmlhttp = new XDomainRequest();
if (xmlhttp)
{
xmlhttp.onerror = function ()
{
alert("[Data Config]Failed to send request for configuration!\n" + xmlhttp.responseText);
};
xmlhttp.ontimeout = function ()
{
alert('xdr ontimeout');
};
xmlhttp.onprogress = function ()
{
};
xmlhttp.onload = function ()
{
if (xmlhttp.responseText)
{
HandleResponseData($($.parseXML(xmlhttp.responseText)));
}
};
} else
{
alert('failed to create xdr');
}
}
else
{
if (window.XMLHttpRequest) // code for IE7, Firefox, Chrome, Opera, Safari
{
try
{
xmlhttp = new XMLHttpRequest();
}
catch (e)
{
alert("[Data Request]Failed to create XMLHTTPRequest!\n" + e.message);
}
}
else // code for IE6, IE5
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function ()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
//alert("Handled!");
HandleResponseData($($.parseXML(xmlhttp.responseText)));
that.trigger("dataReceived");
}
}
}
try
{
xmlhttp.timeout = options.timeout;
xmlhttp.open("POST", "http://localhost:7230/ActionHandler.aspx" + params, true);
}
catch (e)
{
alert("[Data Request]Failed to open XMLHTTPRequest!\n" + e.message);
}
setTimeout(function () { xmlhttp.send(body); }, 0);
}
这是一个在 Visual Studio 中运行的 ASP.NET 网站。我已按照此处的步骤操作,并将相关行添加到我的 web.config 文件中。任何有关如何将我的请求传递到 ActionHandler 页面的帮助将不胜感激。