/ / Polymer 1.x: Використання заліза-айкса всередині власної поведінки - ajax, polymer, polymer-1.0, polymer-1.x, iron-elements

Polymer 1.x: Використання залізної айкса всередині власної поведінки - ajax, polymer, polymer-1.0, polymer-1.x, iron-elements

Я будую власну поведінку. Назвіть її MyBehaviors.MySpecialBehavior.

Але мені потрібно отримати дані, які локально зберігаються у файлі JSON, який викликається my-data.json.

Як я можу це зробити всередині моєї поведінки? Я намагаюся імпортувати iron-ajax але я не можу думати про те, як отримати доступ до його методів або властивостей.

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

Відповіді:

3 для відповіді № 1

Ви можете створювати елементи програмно. Подивіться, як це зробити залізо-айкс сам робить це для використання залізо-запит внутрішньо:

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

Зверніться до вашої сторінки, користувач a1626 створив цей фрагмент:

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 для відповіді № 2

Ви можете отримати доступ до даних json за допомогою ajax.lastResponse всередині слухача доданої події.

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

Схожі запитання


Коментарі (0)

Додати коментар