我第一次使用 angularJs,我会做一件非常简单的事情,但我不知道我错了什么。我的代码在本地环境中,API 在网络上(我使用免费工具创建了一个简单的 API)。
我创建了这个简单的 API:http : //www.mocky.io/v2/5a1fedce310000221bc0b08b
那个回报:
{"id" : 1, "name" : "France - Mainland", "desc": "some description" },
{"id" : 2, "name" : "Gibraltar", "desc": "some description"},
{"id" : 3, "name" : "Malta", "desc": "some description"}
现在我有了我的 app.js
(function () {
'use strict';
angular.module('test', []).controller('DemoCtrl', function ($scope, $http) {
$scope.selectedTestCountry = null;
$scope.testCountries = [];
$http({
method: 'GET',
url: 'http://www.mocky.io/v2/5a1fede63100005d1ec0b08f',
data: { someId: 3 }
}).then(function (result) {
$scope.testAccounts = result;
}).catch(function (err) {
$scope.error = err}
);
});
})()
问题是,当进行调用时,我收到错误消息。
从 Chrome 我收到这个错误:
我读了一些建议更改浏览器的内容,例如使用 FF。
但在 FF 我还有一个错误:
多源请求被阻止(cross-origin):源匹配策略不允许从http://www.mocky.io/v2/5a1fede63100005d1ec0b08f读取远程资源。原因:缺少 CORS“Access-Control-Allow-Origin”标头。(抱歉是意大利语,但这意味着 CORS 存在一些问题)
最后,如果我在 catch 中打印错误,我会得到这个:
{"data":null,"status":-1,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"http://www.mocky.io/v2/5a1fede63100005d1ec0b08f","data":{"applicationId":3},"headers":{"Accept":"application/json, text/plain, */*"}},"statusText":"","xhrStatus":"error"}
请帮我。
谢谢
Access-Control-Allow-Origin 由于域不同而出现。可能是您在http://localhost或http://127.0.0.1上运行应用程序
此域与http://www.mocky.io/不同,因此它会阻止请求。
要解决此问题,您应该检查https://stackoverflow.com/a/38112602/1006780
我也注意到这是一个月前修复的https://github.com/julien-lafont/Mocky/issues/13#issuecomment-338432249
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句