【发布时间】:2018-05-14 08:43:42
【问题描述】:
我第一次使用 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 中我收到了这个错误:
- 加载资源失败:服务器响应状态为 403 (Forbidden)
- 请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。响应的 HTTP 状态代码为 403。
我读到一些建议更改浏览器的内容,例如使用 FF。
但在 FF 中我还有一个错误:
Bloccata Richiesta multiorigin (cross-origin): il criterio di corrispondenza dell'origine non consente la lettura della risorsa remota da http://www.mocky.io/v2/5a1fede63100005d1ec0b08f。动机:标题 CORS “Access-Control-Allow-Origin” mancante。 (抱歉是意大利语,但这意味着 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"}
请帮帮我。
谢谢
【问题讨论】: