相关疑难解决方法(0)

在ASP.Net MVC中设置Access-Control-Allow-Origin - 最简单的方法

我有一个简单的actionmethod,返回一些json.它在ajax.example.com上运行.我需要从另一个站点someothersite.com访问它.

如果我试着打电话给我,我会得到预期的......:

Origin http://someothersite.com is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

我知道有两种解决方法:JSONP和创建自定义HttpHandler来设置标头.

有没有更简单的方法?

简单的动作是否不可能定义允许的起源列表 - 或者简单地允许每个人?也许一个动作过滤器?

最佳将是......:

return json(mydata, JsonBehaviour.IDontCareWhoAccessesMe);
Run Code Online (Sandbox Code Playgroud)

json asp.net-ajax cors asp.net-mvc-3

203
推荐指数
9
解决办法
14万
查看次数

EnableCors 属性未向 API 响应添加 Access-Control-Allow-Origin

问题:

出于某种原因,启用 CORS 时,Access-Control-Allow-Origin响应中不包含标头。

错误:

从源“https://some.site.com”访问“https://.../api/endpoints/some-path”的 XMLHttpRequest 已被 CORS 政策阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。

配置 (.NET MVC 5)

web.config标头:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Credentials" value="true"/>
      <add name="Access-Control-Allow-Headers" value="Content-Type" />
      <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, OPTIONS" />
    </customHeaders>
  </httpProtocol>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

Web API 配置:

config.EnableCors();
Run Code Online (Sandbox Code Playgroud)

API 端点:

[RoutePrefix("api/endpoints")]
[EnableCors(origins: "https://some.site.com", headers: "*", methods: "*")]
public class MyApiController : ApiController
{
    [HttpPost]
    [Route("some-path")]
    [EnableCors(origins: "https://some.site.com", headers: "*", methods: "*")]
    public ResponseModel GetSomeResponse(DataModel model) { ... }
}
Run Code Online (Sandbox Code Playgroud)

global.asax.cs

protected void Application_BeginRequest(object sender, EventArgs e) …
Run Code Online (Sandbox Code Playgroud)

c# api asp.net-mvc

7
推荐指数
1
解决办法
2670
查看次数

跨源请求被阻止:&amp;原因:CORS 标头“Access-Control-Allow-Origin”丢失

也许这个问题看起来重复,但我有自己的场景,ASP.NET MVC应用程序,当我单击签出时,它会抛出以下错误。

跨源请求被阻止:同源策略不允许读取 http://servicelink?order=%5Bobject%20Object%5D处的远程资源。(原因:CORS 标头“Access-Control-Allow-Origin”丢失)。

在此输入图像描述

asp.net jquery json cross-domain cors

3
推荐指数
1
解决办法
2599
查看次数