/ / Polymer 1.x: Verwenden von Eisen-Ajax in einem benutzerdefinierten Verhalten - Ajax, Polymer, Polymer-1.0, Polymer-1.x, Eisen-Elemente

Polymer 1.x: Verwenden von Eisen-Ajax in einem benutzerdefinierten Verhalten - Ajax, Polymer, Polymer-1.0, Polymer-1.x, Eisen-Elemente

Ich baue ein benutzerdefiniertes Verhalten. Nenne es MyBehaviors.MySpecialBehavior.

Aber ich brauche Daten, die lokal in einer JSON-Datei gespeichert sind my-data.json.

Wie kann ich das in meinem Verhalten tun? Ich versuche zu importieren iron-ajax aber ich kann mir nicht vorstellen, wie ich auf seine Methoden oder Eigenschaften zugreifen kann.

mein-besonderes-verhalten.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>
meine-daten.json
{
"important": "data",
"j": 5,
"o": "N",
"goes": "here"
}

Antworten:

3 für die Antwort № 1

Sie können Elemente programmatisch erstellen. Schau dir an wie Eisen-Ajax selbst tut das zu benutzen Eisen-Anfrage im Inneren:

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

Verweisen auf Ihren Anwendungsfall den Benutzer a1626 hat dieses Snippet erstellt:

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 für die Antwort № 2

Sie können auf die JSON-Daten mit zugreifen ajax.lastResponse innerhalb des hinzugefügten Ereignis-Listeners.

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();

Verwandte Fragen


Kommentare (0)

Einen Kommentar hinzufügen