/ / Polymer 1.x: ijzer-ajax gebruiken in een aangepast gedrag - ajax, polymeer, polymeer-1.0, polymeer-1.x, ijzer-elementen

Polymer 1.x: ijzer-ajax gebruiken in een aangepast gedrag - ajax, polymeer, polymeer-1.0, polymeer-1.x, ijzer-elementen

Ik bouw een aangepast gedrag, noem het maar MyBehaviors.MySpecialBehavior.

Maar ik moet gegevens ophalen die lokaal zijn opgeslagen in een JSON-bestand met de naam my-data.json.

Hoe kan ik dit doen in mijn gedrag? Ik probeer te importeren iron-ajax maar ik kan niet bedenken hoe toegang te krijgen tot zijn methoden of eigenschappen.

mijn-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>
mijn-data.json
{
"important": "data",
"j": 5,
"o": "N",
"goes": "here"
}

antwoorden:

3 voor antwoord № 1

Je kunt elementen programmeren. Kijk eens hoe ijzer-ajax zelf doet dat om te gebruiken ijzer-verzoek intern:

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

Verwijzen naar uw usecase, de gebruiker a1626 heeft dit fragment gemaakt:

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 voor antwoord № 2

U hebt toegang tot de json-gegevens met ajax.lastResponse in de toegevoegde gebeurtenislistener.

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

Gerelateerde Vragen


Reacties (0)

Voeg een reactie toe