404在CORS请求中返回来自角度服务的一些web api调用

时间:2014-08-26 05:26:12

标签: angularjs asp.net-web-api cors

我有一个角度应用程序,可以从ASP.Net web api服务中检索数据。

web api托管在不同的域名上。

网络API包含多个用于查询不同类型数据的网址,例如site2/api/Employeessite2/api/Managers等。

web api具有全局配置,正常情况下,即没有为任何特定控制器进行特殊配置。

我在angularjs中创建了不同的控制器,并且每个控制器都有一个服务(复制粘贴代码,但我已经检查并正确更新了所有必需的引用)。

当我从site1中的角度代码访问site2/api/Employees时,会从web api服务返回数据。

但是,当我从我的角度代码访问/site2/api/Managers时,我收到错误选项:/site2/api/Managers 404未找到 XMLHttpRequest无法加载/site2/api/Managers无效状态代码404

有人可以,为这个问题提供解决方案

1 个答案:

答案 0 :(得分:0)

我不是angularjs用户,但我可以帮助你在角色

当浏览器允许跨域请求时,cors请求有效。

一种方法是允许Cors请求是通过客户端浏览器

  • jquery)jQuery.support.cors = true如果这条线将是完整的帮助 你只针对IE浏览器
  • 要在其他浏览器中启用,您可以查看this javscript

另一种方法是将HTTP响应标头设置为从服务器端对Cors的所有访问

下面是我通过HTTP响应标题访问Cors的php代码

<?php

header('Access-Control-Allow-Origin:  http://yourdomain.com');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE');
header('Access-Control-Allow-Headers', 'Content-Type'); 

我希望这对你有帮助..