/ / Polímero 1.x: uso de hierro-ajax dentro de un comportamiento personalizado - ajax, polímero, polímero-1.0, polímero-1.x, elementos de hierro

Polímero 1.x: uso de hierro-ajax dentro de un comportamiento personalizado - ajax, polímero, polímero-1.0, polímero-1.x, elementos de hierro

Estoy construyendo un comportamiento personalizado. Llámalo. MyBehaviors.MySpecialBehavior.

Pero necesito obtener datos que se almacenan localmente en un archivo JSON llamado my-data.json.

¿Cómo puedo hacer esto dentro de mi comportamiento? Estoy tratando de importar iron-ajax pero no puedo pensar en cómo acceder a sus métodos o propiedades.

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

Respuestas:

3 para la respuesta № 1

Puedes crear elementos programáticamente. Echa un vistazo a cómo hierro-ajax sí hace eso usar solicitud de hierro internamente:

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

Haciendo referencia a su caso de uso, el usuario a1626 creó este fragmento de código:

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 para la respuesta № 2

Puede acceder a los datos json con ajax.lastResponse dentro del detector de eventos agregado.

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

preguntas relacionadas


Comentarios (0)

Añadir un comentario