IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Ajax, angularJS et JSON


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Devellopeur
    Inscrit en
    Avril 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Devellopeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Ajax, angularJS et JSON
    Bonjour à tous,

    je développe une application avec angularJS, et une requête get est pas très gentille avec moi, voilà le code du service:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    app.service('languageModel', function($http, $q){
    *
    ****// Service pour recupérer la langue stocké en localStorage
    ****// Et recuperer le fichier .json de la langue
    ****// Pour le retourner
    ****$this = this,
    *
    ****$this.language = {},
    *
    *
    ****$this.getLanguage = function(){
    ********return $this.language;
    ****},
    *
    ****// Méthodes qui s'occupe de charger le fichier .json
    ****$this.setLanguage = function(){
    ********deferred = $q.defer(),
    ********lang = (localStorage.getItem('lang')) ? localStorage.getItem('lang') : "en";
    ********// Requete pour recuperer le fichier .json
    ********$http.get('lang/'+lang+'.json')
    ************// Succés de la requete
    ************.success(function(data, status){
    ****************$this.language = data;
    ****************deferred.resolve($this.language);
    ************})
    ************// Echec de la requete
    ************.error(function(data, status){
    ****************deferred.reject('Impossible to get '+lang+' language.');
    ************});
    *
    ********// On retourne la promesse
    ********return deferred.promise;
    ****}
    })
    Quand j'exécute tout ça dans mon application, j'ai l'erreur 'Impossible to get en language.' qui s'affiche deux fois en alert, pourtant, quand je vais dans la console, j'ai:

    XHR finished loading: GET "http://localhost:8080/app/www/en.json".
    Voilà le controller qui gère le service et tout:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    app.controller('menuCtrl', function($scope, languageModel){
    ****$scope.loading = true;
    ****$scope.language = languageModel.setLanguage().then(function(language){
    ********$scope.loading = false;
    ********$scope.language = language;
    ****}, function(msg){
    ********alert(msg);
    ****});
    })
    Et une dernière petite erreur dans la console, que je n'arrive pas à localisé (l'erreur est localisé par la console dans le framework angular.js):

    Voilà tout, merci d'avance à tout ceux qui m'aideront.

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Tu as passé le contenu de en.json au validateur ? Ma main à couper que l'erreur de syntaxe est dans ce fichier
    One Web to rule them all

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Devellopeur
    Inscrit en
    Avril 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Devellopeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Voilà le contenu de en.json:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    {
    	"language": "English",
     
    	// Menu
    	"menu": {
    		"game": "Play",
    		"stats": "Statistics",
    		"options": "Options",
    		"more": "More"
    	}
    }

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Les commentaires ne sont pas gérés en JSON
    One Web to rule them all

Discussions similaires

  1. ajax et retour Json
    Par sause dans le forum jQuery
    Réponses: 5
    Dernier message: 25/09/2010, 18h12
  2. [Prototype] Ajax.Request et JSon et return false
    Par gazelle dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 05/07/2010, 14h10
  3. [AJAX] Ajax et Json - création d'un .json par PHP
    Par versus68 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/06/2008, 17h18
  4. [AJAX] Mise en place d'un réponse dans Ajax.Request via JSON
    Par polothentik dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 13/05/2008, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo