在 Polymer 中,是否可以使用参数数组来进行 iron-ajax 调用?
In Polymer, is it possible to use an array of parameters to make an iron-ajax call?
所以我所描绘的是我拥有的一个参数数组,其中包含一个 id 列表,我们称其为 Array1。这些 id 将用作 ajax 调用相同 url 的参数。当它进行调用时,我想将一些信息从 ajax 调用推送到一个公共数组 (Array2),然后转到 Array1 中的下一个 id。这可以用 Polymer 实现吗?如果可以,我从哪里开始?
代码:
<iron-ajax id="ajax"
auto="false"
url='http://url.com/details?Id='
handle-as="json"
on-response="handleResponse"></iron-ajax>
<script>
var playerData = [];
Polymer({
is: 'my-team',
properties: {
},
attached: function () {
for (var i = 0; i < array.length; i++) {
this.$.ajax.url = 'http://url.com/details?Id=' + currentTeam[i];
console.log(array[i]);
}
},
handleResponse: function (r) {
// do something;
playerData.push(r.detail.response);
}
});
</script>
如果我理解正确的话,我认为这会奏效。这可能不是最有效的方法,但可以完成工作。
<template is="dom-repeat" items="{{array1}}" as="id">
<iron-ajax auto
url='http://website.com/{{id}}'
handle-as="json"
on-response="handleResponse">
</iron-ajax>
</template>
添加函数 handleReponse
handleResponse: function(r) {
var response = r.detail.response;
// do something;
},
根据 jdepypere 的建议编辑(否 Dom-Repeat):
<iron-ajax id="ajax" url='http://website.com/'
handle-as="json"
on-response="handleResponse">
</iron-ajax>
attached: function() {
for (var i = 0; i < this.array1.length; i++) {
this.$.ajax = 'http://website.com/' + this.array1[i];
}
},
handleResponse: function(r) {
var response = r.detail.response;
// do something;
},
Edit2 添加了 GenerateRequest 方法(正在使用):
<iron-ajax id="ajax" url='http://website.com/'
handle-as="json"
on-response="handleResponse">
</iron-ajax>
properties: {
array1: {
value: ['123', '123555', '235']
}
},
attached: function() {
console.log('attached');
for (var i = 0; i < this.array1.length; i++) {
console.log(i);
this.$.aj.url = 'http://website.com/' + this.array1[i];
this.$.aj.generateRequest();
}
},
handleResponse: function(r) {
var response = r.detail.response;
console.log('handle');
// do something;
},
所以我所描绘的是我拥有的一个参数数组,其中包含一个 id 列表,我们称其为 Array1。这些 id 将用作 ajax 调用相同 url 的参数。当它进行调用时,我想将一些信息从 ajax 调用推送到一个公共数组 (Array2),然后转到 Array1 中的下一个 id。这可以用 Polymer 实现吗?如果可以,我从哪里开始?
代码:
<iron-ajax id="ajax"
auto="false"
url='http://url.com/details?Id='
handle-as="json"
on-response="handleResponse"></iron-ajax>
<script>
var playerData = [];
Polymer({
is: 'my-team',
properties: {
},
attached: function () {
for (var i = 0; i < array.length; i++) {
this.$.ajax.url = 'http://url.com/details?Id=' + currentTeam[i];
console.log(array[i]);
}
},
handleResponse: function (r) {
// do something;
playerData.push(r.detail.response);
}
});
</script>
如果我理解正确的话,我认为这会奏效。这可能不是最有效的方法,但可以完成工作。
<template is="dom-repeat" items="{{array1}}" as="id">
<iron-ajax auto
url='http://website.com/{{id}}'
handle-as="json"
on-response="handleResponse">
</iron-ajax>
</template>
添加函数 handleReponse
handleResponse: function(r) {
var response = r.detail.response;
// do something;
},
根据 jdepypere 的建议编辑(否 Dom-Repeat):
<iron-ajax id="ajax" url='http://website.com/'
handle-as="json"
on-response="handleResponse">
</iron-ajax>
attached: function() {
for (var i = 0; i < this.array1.length; i++) {
this.$.ajax = 'http://website.com/' + this.array1[i];
}
},
handleResponse: function(r) {
var response = r.detail.response;
// do something;
},
Edit2 添加了 GenerateRequest 方法(正在使用):
<iron-ajax id="ajax" url='http://website.com/'
handle-as="json"
on-response="handleResponse">
</iron-ajax>
properties: {
array1: {
value: ['123', '123555', '235']
}
},
attached: function() {
console.log('attached');
for (var i = 0; i < this.array1.length; i++) {
console.log(i);
this.$.aj.url = 'http://website.com/' + this.array1[i];
this.$.aj.generateRequest();
}
},
handleResponse: function(r) {
var response = r.detail.response;
console.log('handle');
// do something;
},