我正在使用经典的 asp 站点来调用 ASP.NET 4.0 Http 处理程序。它们都部署在同一台服务器上。我正在尝试对处理程序进行 jquery 1.6 AJAX 调用。在 IE 中,我总是收到“No Transport”的错误。在 Firefox 和 Chrome 中,请求可以顺利通过。一些关于“No Transport”错误的搜索让我相信这个问题与同源策略有关。
根据 https://en.wikipedia.org/wiki/Same_origin_policy ,我似乎不应该在同源政策上遇到任何麻烦。两者具有相同的域、协议(protocol)并使用相同的端口号,因此两者之间的来源应该被认为是相同的。
$.ajax(
{
url: "/filehandler/DeleteHandler.ashx",
data:
{
data: someData
},
success: OnSuccessFunction,
error: OnErrorFunction
});
每次在 IE 中进行此 AJAX 调用时,都会调用 OnErrorFunction 回调函数并出现“无传输”错误。
有什么想法吗?
最佳答案
有关解决方案,请参阅下面的链接。我们必须添加这一行才能使其正常工作,这意味着它实际上是同源策略问题:
jQuery.support.cors = true;
这仍然没有回答“为什么它认为存在违反同源策略的问题?”的问题。但我们很高兴它能正常工作。
关于javascript - 经典 ASP 到 ASP.NET 4.0 的同源策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7016745/