/ / Polymer 1.x: Używanie żelaza-ajax w niestandardowym zachowaniu - ajax, polimer, polimer-1.0, polimer-1.x, żelazne pierwiastki

Polimer 1.x: Używanie żelaza-ajax w niestandardowym zachowaniu - ajax, polimer, polimer-1.0, polimer-1.x, żelazne pierwiastki

Buduję niestandardowe zachowanie. Zadzwoń MyBehaviors.MySpecialBehavior.

Ale muszę pobrać dane, które są przechowywane lokalnie w pliku JSON o nazwie my-data.json.

Jak mogę to zrobić w moim zachowaniu? Próbuję importować iron-ajax ale nie mogę myśleć o tym, jak uzyskać dostęp do jego metod lub właściwości.

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"
}

Odpowiedzi:

3 dla odpowiedzi № 1

Możesz tworzyć elementy programowo. Zobacz, jak to zrobić żelazo-ajax sam to robi żądanie żelaza wewnętrznie:

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

Odnosząc się do Twojego zastosowania, użytkownik a1626 utworzono ten fragment:

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 dla odpowiedzi nr 2

Możesz uzyskać dostęp do danych json za pomocą ajax.lastResponse wewnątrz dodanego detektora zdarzeń.

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

Powiązane pytania


Komentarze (0)

Dodaj komentarz