angularjs,加载本地json结果为“;SyntaxError:意外的令牌'&”;

angularjs, load local json results in "SyntaxError: Unexpected token ' "

本文关键字:SyntaxError 意外 令牌 加载 json 结果 angularjs      更新时间:2023-09-26

我在某个地方看到这是因为json文件的内容类型不是"application/json",但我如何才能在本地机器上使用它?

我要做的是加载两个单独的json文件,其中包含页面的翻译。但这似乎几乎是不可能的,可能不是。

var medicalApp = angular.module('medicalApp', ['ngRoute', 'ngResource', 'ngCookies']);
// configure our routes
medicalApp.config(function($routeProvider) {
    $routeProvider
        ...
});
medicalApp.factory('getDE', function($resource, $http) {
    //return $resource('../translations/de.json');
    var defaults = $http.defaults.headers;
    defaults.get = defaults.get || {};
    defaults.get['Content-Type']='application/json';
    var values = $resource('../translations/de.json', {}, {
        query: {method:'GET',headers:{'ignored':'ignored'}}
    });
    console.log(JSON.stringify(values));
    return values;
});
medicalApp.factory('getFR', function($resource, $http) {
    //return $resource('../translations/fr.json');
    var defaults = $http.defaults.headers;
    defaults.get = defaults.get || {};
    defaults.get['Content-Type']='application/json';
    var values = $resource('../translations/fr.json', {}, {
        query: {method:'GET',headers:{'ignored':'ignored'}}
    });
    console.log(JSON.stringify(values));
    return values;
});
...
medicalApp.controller('MainCtrl', function($scope, $cookies, getFR, getDE) {
    var userLang = navigator.language || navigator.userLanguage;
    var lang = userLang.substring(0,2);
    if (lang == 'fr') {
        getFR.get(function(data){
            alert(JSON.stringify(data));
        });
    } else {
        getDE.get(function(data){
            alert(JSON.stringify(data));
        });
    }
});

你知道我该怎么做吗?

我想您的json文件中有'而不是"。在这里检查它的有效性,或者向我们展示它的内容