我想在一些服务器调用中使用一个iron-ajax元素,并且需要更改on-response参数,类似于更改url参数。我没有办法做到这一点......任何人都知道怎么做?
这是我的铁阿贾克斯元素:
<iron-ajax id="xhr" handle-as="json" method="GET">
</iron-ajax>
在我的代码中,我希望能够:
this.$.xhr.url = "server.com/getX";
this.$.xhr.onResponse = "handleX";
然后:
this.$.xhr.url = "server.com/getY";
this.$.xhr.onResponse = "handleY";
以上不起作用,我无法弄清楚如何做我想做的事。我也试过这个。$。xhr.onresponse,这个。$。xhr.response和其他几个但没有用。感谢所有帮助。
答案 0 :(得分:2)
没有<iron-ajax>.onResponse
属性。 on-response
属性是用于注册事件处理程序的Polymer语法,response
是一个事件。要强制切换response
听众,您需要使用Polymer's API:
Polymer({
...
_switchAjaxListener: function() {
this.unlisten(this.$.xhr, 'response', '_oldListener');
this.listen(this.$.xhr, 'response', '_newListener');
}
);
注意第三个参数是事件处理程序的方法名称(string
而不是处理程序function
本身)。