【发布时间】:2017-09-01 16:41:01
【问题描述】:
我在尝试访问本地 JSON 文件时遇到错误。这是我从 json 中获取数据的功能。
$scope.getJSON = function () {
(self.servicioObj = jsonFactory.GetJson('data.json')).then(
function (dataResponse) {
$scope.datosJson = [];
$scope.datosJson = dataResponse.data;
self.servicioObj.detenerTiempo();
}, function (error) {
self.servicioObj.detenerTiempo();
});
}
这是我的工厂代码。
function jsonFactory($http, $q) {
var self = this;
self.urlBase = 'http://192.168.0.17:8383/NewFrontEnd/app/pages/';
self.jsonFactory = {};
self.tiempoEspera = 120000;
self.jsonFactory.GetJson = function (metodo) {
var tiempo = $q.defer();
var url = self.urlBase + metodo;
var peticion = $http({
method: 'get',
url: url,
headers: {'Access-Control-Allow-Origin': '*'},
cache: false,
timeout: tiempo.promise
});
return self.jsonFactory;
}
当我调用 getJSON 函数时,我收到此错误消息。
XMLHttpRequest cannot load http://192.168.0.17:8383/NewFrontEnd/app/pages/data.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8383' is therefore not allowed access.
如果我输入 urlBase localhost 而不是 192.168.0.17 我不知道为什么会出现此错误,我可以毫无问题地访问 JSON 文件
【问题讨论】:
-
你的问题是什么?
-
如果我输入 urlBase localhost 而不是 192.168.0.17 我不知道为什么会出现此错误,我可以毫无问题地访问 JSON 文件
-
它与浏览器保护来自与请求资源不同来源的请求有关
-
我该如何解决呢?我无法放置标头,因为我没有尝试访问后端服务器
标签: javascript angularjs json ajax