【问题标题】:Using Access-Control-Allow-Origin with MVC在 MVC 中使用 Access-Control-Allow-Origin
【发布时间】: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] 属性应该这样做。

标签: jquery asp.net-mvc json cross-domain


【解决方案1】:

放弃属性,就这么干了……

    public ActionResult YourMethod()
    {
        HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", "*");
        return Json(@"{""title"": ""example glossary""}");
    }

【讨论】:

    猜你喜欢
    • 2017-06-15
    • 2016-09-30
    • 2015-06-17
    • 2017-12-29
    • 2019-02-07
    • 2013-09-09
    • 2015-12-10
    • 2013-10-28
    相关资源
    最近更新 更多