2017-02-06 2 views
0

Je fais une application de carte flash et la logique métier est implémentée dans le backend.Quelle est la méthode appropriée pour effectuer une demande de traitement de données avec des données Ember?

La version précédente J'utilise jquery pour extraire des données et faire une demande entre le serveur et le client (voir ci-dessous),

getNextCard() { 
    const {URL, headers} = this._getParams('/next_card'); 

    return Ember.$.ajax(URL, { 
     method: "GET", 
     headers 
    }); 
}, 

submitAnswer(card) { 
    const {URL, headers} = this._getParams('/process_card'); 

    return Ember.$.ajax(URL, { 
     method: "POST", 
     headers, 
     data: card 
    }); 
}, 

J'ai changé les données Ember dans la la version actuelle; Cependant, je suis tellement confus et je ne sais pas quelle est la bonne façon de faire ce genre de demande avec des données Ember.

Dois-je continuer à utiliser Ember.$.ajax pour effectuer une requête de traitement de données (comme le code ci-dessus) et utiliser les données Ember uniquement pour les données/le modèle CRUD prupose?

Mise à jour

Après percera la documentation, je pense que la méthode getNextCard peut être réaliser en personnalisant l'adaptateur.

https://guides.emberjs.com/v2.11.0/models/customizing-adapters/

Répondre

1

Essayez de représenter ce que les opérations CRUD. C'est un peu une autre façon de penser.

Ainsi, vous pouvez par exemple définir la réponse sur l'enregistrement, puis .save() l'enregistrement. Ou disposez d'un autre modèle answer et créez un answer et enregistrez-le. Cela dépend un peu des exigences spécifiques de votre application.

Pour récupérer la carte suivante, utilisez simplement store.query(). Donc, vous pouvez essentiellement faire quelque chose comme store.query('card', { next: true }), et implémentez cela dans votre adaptateur en conséquence.

+0

Merci beaucoup pour les conseils. :RÉ –