Incapable de faire un $http.requête get à un fichier JSON à l'aide Angulaire

Je suis en train de faire une application temps où j'ai besoin de saisir un local fichier JSON à partir de l'intérieur de mon contrôleur de gestion, puis de faire des trucs avec les données. Cependant, je ne peux pas obtenir un local $http.get demande de travailler pour une raison quelconque. Que dois-je faire?

C'est mon code actuel:

var weatherApp = angular.module('weatherApp', []); 

weatherApp.controller('weatherCtrl', function ($scope, $http) {
    $scope.cities = [],
    $scope.getCities = (function() {
        $http.get('http://localhost:81/Webb/angular projekt/jsons/cities.json')
             .success(function(data, status, headers, config) {

                 console.log(data);
             })
             .error(function(data, status, headers, config) {
                 console.log(status);
             });
    }())
}

Qui me donne cette erreur:

SyntaxError: Unexpected token {                                         angular.js:11598
at Object.parse (native)
at oc (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:14:156)
at Yb (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:77:190)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:78:50
at s (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:7:302)
at Yc (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:78:32)
at c (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:79:165)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:112:343
at l.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:126:193)
at l.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.min.js:123:286)

J'ai aussi essayé d'utiliser jsons/cities.json mais qui génère cette erreur:

Cross origin requests are only supported for protocol schemes: http, data, chrome-extension, https, chrome-extension-resource.

Faire une requête get à une ressource externe fonctionne très bien, mais à chaque fois que je le fais en local, les choses ne semblent pas fonctionner.

Le fichier JSON que j'essaie de faire ressemble à ceci:

{"cities": {

    {   
        city: "Stockholm", 
        latitud: "59", 
        longitud: "18",
        id: "sthlm"
    }, 
    {
        city: "Göteborg", 
        latitud: "58", 
        longitud: "12",
        id: "gbg"
    },
    {
        city: "Malmö", 
        latitud: "55", 
        longitud: "13",
        id: "malmo"
    },
    {
        city: "Umeå", 
        latitud: "63", 
        longitud: "20",
        id: "umea"
    }
}
}
  • vous n'êtes pas en passant une URI valide. vous ne pouvez pas avoir des espaces dans l'URI.
  • Le JSON est incorrect un trop - clés pour chaque objet doivent être de chaîne échappé, et que les villes doivent être un tableau.
  • J'obtiens le même résultat sans.
  • ah le droit.. la Fixation et tester si cela fonctionne.
  • s'avère, vous pouvez avoir un espace, c'était le fichier JSON qui a été mal apparemment. Je suis capable de le faire maintenant.
  • Il pourrait être judicieux de supprimer la question, que la question était simplement mal formé JSON.
  • Pourriez-vous poster votre commentaire est une réponse? J'ai obtenu des réponses utiles que les réponses du sujet, mais votre commentaire a été la chose qui a résolu le problème.
  • Je pense que c'est mieux de les laisser en place car les réponses pourraient être utiles à d'autres personnes dans le futur.
  • assurez-vous - j'ai édité ma réponse existant pour indiquer le mal formé JSON.

InformationsquelleAutor Chrillewoodz | 2015-01-22