带有angularjs和asp.net空网站的cors

带有angularjs和asp.net空网站的cors,angularjs,asp.net-mvc-4,cors,Angularjs,Asp.net Mvc 4,Cors,我正在asp.net empty web站点中使用angularjs创建一个简单的客户端,当我从angularjs调用服务时,我有wcf服务,它正在命中服务中的方法(在其他端口号上运行),在google chrome中,网络数据以json格式从服务返回,问题是,每次它将进入故障方法并显示状态为404且数据未定义时 用于启用cors的示例代码表单angular js app.js $httpProvider.defaults.useXDomain = true; d

我正在asp.net empty web站点中使用angularjs创建一个简单的客户端,当我从angularjs调用服务时,我有wcf服务,它正在命中服务中的方法(在其他端口号上运行),在google chrome中,网络数据以json格式从服务返回,问题是,每次它将进入故障方法并显示状态为404且数据未定义时

用于启用cors的示例代码表单angular js app.js

        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];
web配置中的代码如下所示:

<system.webServer>
        <httpProtocol>
        <customHeaders>
            <add name="Access-Control-Allow-Origin" value="*" />
            <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
        </customHeaders>
    </httpProtocol> 
</system.webServer>

根据Entre的评论,我使用了这个,没有其他东西,它现在对我有效,:)


您的ASP.NET端点是否正确配置为响应JSONP请求?如果您已经允许CORS,为什么不使用普通的AJAX调用呢?您不需要jsonp。。。使用$http.gett非常感谢您的“Entre”,现在我可以使用$http.get方法获得所需的数据,但我不了解它现在是如何工作的,在每个地方和博客上都建议使用jsonp来处理跨域的问题,是的,我知道我的web配置也有更改。你能帮我理解这个吗?
$http.jsonp(
    'http://localhost:56733/Service1.svc/GetData?callback=JSON_CALLBACK";'
    )
    .then(function (data, status, header, confi) {
        console.log(data);
    }, function (error, data) {
    console.log(error);
});
http.get(
'http://localhost:56733/Service1.svc/GetData'
)
    .then(function (data, status, header, confi) {
        console.log(data);
    }, function (error, data) {
    console.log(error);
});