在 MVC 中使用 Access-Control-Allow-Origin
Posted
技术标签:
【中文标题】在 MVC 中使用 Access-Control-Allow-Origin【英文标题】:Using Access-Control-Allow-Origin with MVC 【发布时间】:2013-05-18 17:15:16 【问题描述】:我正在尝试使用带有 JQuery 页面的简单 html 和另一个域上的 MVC 站点进行简单的跨域调用。
我的工作就是以此为基础的......
Setting Access-Control-Allow-Origin in ASP.Net MVC - simplest possible method
这是我的简单站点中的调用...
<script type="text/javascript">
$(function ()
$.get("http://example.com:20874/Home/YourMethod", function (data)
alert(data);
);
);
</script>
这是我的控制器...属性代码刚刚从其他问题粘贴...
public class HomeController : Controller
public ActionResult Index()
return View();
[AllowCrossSiteJson]
public ActionResult YourMethod()
return Json(@"""title"": ""example glossary""");
但是调用站点错误...
XMLHttpRequest 无法加载 http://example.com:20874/Home/YourMethod。 Access-Control-Allow-Origin 不允许来源http://example.com:90。
有人可以帮忙吗?
【问题讨论】:
你在哪里设置必要的 HTTP 标头? 我相信 [AllowCrossSiteJson] 属性应该这样做。 【参考方案1】:放弃属性,就这么干了……
public ActionResult YourMethod()
HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", "*");
return Json(@"""title"": ""example glossary""");
【讨论】:
以上是关于在 MVC 中使用 Access-Control-Allow-Origin的主要内容,如果未能解决你的问题,请参考以下文章
尽管我的服务器启用了标头,但 AJAX CORS 请求失败 - (Access-Control*)
Spring Security(三十):9.5 Access-Control (Authorization) in Spring Security