不要做响应处理函数,我不知道为什么
在纸张elemet之外,使用document.getelemetbyid(),执行respnser,但是当我把它放入纸质元素时,不要做任何事情。
这是我的代码:
<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/core-ajax/core-ajax.html">
<polymer-element name="post-service" attributes="posts">
<template>
<style>
:host {
display: none;
}
</style>
<core-ajax auto url="http://yami-no-seire.hol.es/blog/api/get_recent_posts/" on-core-response="{{postsLoaded}}" handleAs="json">
</core-ajax>
</template>
<script>
Polymer({
created: function () {
this.posts = [];
},
/*AJAX Success Callback Method*/
postsLoaded: function() {
console.log("Ok");
var respuesta = this.$.ajax
/*document.querySelector('#student-table-template').model = {
posts: e.detail.response
};*/
var data = respuesta.detail.response.posts,
posts = [],
el = document.createElement("div");
// build custom object
for (var i = 0; i < data.length; i++) {
//escape title
el.innerHTML = data[i].title;
var title = el.innerHTML;
//escape content
el.innerHTML = data[i].excerpt;
var excerpt = el.innerHTML;
entradas.push({
url: data[i].url,
title: title,
excerpt: excerpt.replace(' ', ' ').replace('<p>', '').replace('</p>', ''),
modified: parseDate(data[i].modified),
name: data[i].author.name
});
}
this.posts = posts;
}
});
function parseDate(date) {
var d = new Date(date);
var months = ["January", "February", "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December"
];
return d.getDate() + " - " + months[d.getMonth()] + " - " + d.getFullYear();
};
</script>
</polymer-element>
看起来核心-ajax不会处理请求。
答案 0 :(得分:0)
this.$.ajax
通过id属性定位元素,这在core-ajax元素中缺失:
<core-ajax auto url="(my url)" id='ajax'...
以下是工作示例: Plunk
编辑: 以下是如何捕获postsLoaded中的响应:
postsLoaded: function(e, detail, sender){
console.log('postsLoaded');
console.log(e.detail.response);
},
但是,如果你没有得到“好的”&#39;记录,然后它可能是错误的URL。