gpt4 book ai didi

javascript - 在 Angular js 中获取请求

转载 作者:行者123 更新时间:2023-12-02 17:05:53 25 4
gpt4 key购买 nike

Angular js 中请求 get 方法时出现以下错误

 XMLHttpRequest cannot load http://localhost:29527/Services/ProfileService.svc/ChildList?ParentId=37. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. 

这是我的代码

app.controller("AppCtrl", function($http) {
var app = this;
var config = {
headers: {
'Authorization': 'Basic d2VudHdvcnRobWFuOkNoYW5nZV9tZQ==',
'Accept': 'application/json;'

}
};

$http.get(childList,config)
.success(function(data) {
var carsFromServer = JSON.parse(data);
console.log(data.getChildrenResult);
});
});

最佳答案

短篇故事

一开始,网站可以从其他网站加载数据。但很快人们就意识到这是非常危险的,因为黑客可以从其他网站窃取 cookie。因此引入了CORS(跨源资源共享)标准,它不允许网站加载来自不同域的数据。但仍然可以配置。

您的问题

您的网址http://localhost:29527/Services/ProfileService.svc/ChildList?ParentId=37似乎是一个wcf服务,它可能是自托管的,但您不能将它用于跨域域源请求,直到您实现描述的功能 here并在网络服务器中托管 wcf。在wcf中启用CORS有时会带来很多麻烦,因为wcf默认情况下非常有限,甚至在某些情况下是不可能的。就是因为wcf不理解http请求,而剪掉了很多头信息。 之前提供的链接应该可以暂时解决,但是...!

推荐

使用对您的 wcf 服务的服务引用创建 WebApi 站点,添加您需要的所有内容(路由、 Controller 、操作)并在那里实现 CORS,因为它是通过将属性应用到 Controller 来完成的(非常简单)。所以你最终会得到 3 个项目(wcf 服务、asp.net webapi、angularjs 网站)。或者更好地使用 AngularJS 作为 WCF 的 Web 服务支持。但是拥有单独的 webapi 服务器将很灵活,因为您可能想要制作移动版本,或者只是移动 native 应用程序,或者任何您想要的。它将服务于一切
希望有帮助。对不起英语

关于javascript - 在 Angular js 中获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25263115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com