/ / Polymer 1.x: Utilisation de iron-ajax dans un comportement personnalisé - ajax, polymère, polymère-1.0, polymère-1.x, éléments en fer

Polymer 1.x: Utilisation de iron-ajax dans un comportement personnalisé - ajax, polymère, polymère-1.0, polymère-1.x, éléments en fer

Je construis un comportement personnalisé. Appelez-le MyBehaviors.MySpecialBehavior.

Mais il me faut des données stockées localement dans un fichier JSON appelé my-data.json.

Comment puis-je faire cela dans mon comportement? J'essaie d'importer iron-ajax mais je ne peux pas imaginer comment accéder à ses méthodes ou à ses propriétés.

my-special-behavior.html
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/iron-ajax/iron-ajax.html">

<script>
var MyBehaviors = MyBehaviors || {};
MyBehaviors.MySpecialBehaviorImpl = {
// Methods go here that rely on data at my-data.json
};

MyBehaviors.MySpecialBehavior = [
MyBehaviors.MySpecialBehaviorImpl,
];
</script>
my-data.json
{
"important": "data",
"j": 5,
"o": "N",
"goes": "here"
}

Réponses:

3 pour la réponse № 1

Vous pouvez créer des éléments par programmation. Regardez comment Iron-Ajax se fait que d'utiliser demande de fer intérieurement:

https://github.com/PolymerElements/iron-ajax/blob/master/iron-ajax.html#L442

En vous référant à votre cas d'utilisation, l'utilisateur a1626 a créé cet extrait:

var ajax = document.createElement("iron-ajax");
ajax.contentType = "application/json";
ajax.handleAs = "json";
ajax.url = <url goes here>
ajax.method = "get";
ajax.addEventListener("response", function (event) {
//response handler
});
ajax.generateRequest();

1 pour la réponse № 2

Vous pouvez accéder aux données JSON avec ajax.lastResponse à l'intérieur de l'écouteur d'événement ajouté.

var ajax = document.createElement("iron-ajax");
ajax.contentType = "application/json";
ajax.handleAs = "json";
ajax.url = <url goes here>
ajax.method = "get";
ajax.addEventListener("response", function (event) {
//response handler
console.log("ajax", ajax.lastResponse);
});
ajax.generateRequest();

questions connexes


Commentaires (0)

Ajouter un commentaire