只有当名为iron-ajax的url参数存在时,此itemId才会发出请求。该参数还应添加到请求中:
<iron-ajax auto="false"
url="/api/item"
params='{"id":"{{app.itemId}}"}'
handle-as="json"
on-response="loadItem"
debounce-duration="1000">
</iron-ajax>在本例中,(错误)生成的url是:
http://localhost:8080/api/item?id=%7B%7Bapp.childId%7D%7D
显示元素的路径设置如下:
page("/polymer/item", function() {
app.route = "itemform";
});
page("/polymer/item/:itemId", function(data) {
app.route = "itemform";
app.params = data.params;
});发布于 2015-10-20 21:16:21
最后,我将提出请求的逻辑添加到我的路由设置中。
不管怎样,有两条不同的路线,一条没有对讲机,另一条有。
我只是将generateRequest()调用添加到带有参数的路由中。
发布于 2015-08-26 01:46:59
第一个问题是如何在参数中提供itemId,这是一个根本性的问题。它不能在'params‘属性的字符串中。最好的解决方法是使用一个函数:(假设itemId是"app“模板中的一个值)
<template is="dom-bind" id="app">
<iron-ajax id="itemAPI"
url="/api/item"
params='{{createIdParam(itemId)}}'
handle-as="json"
on-response="loadItem"
debounce-duration="1000">
</iron-ajax>
</template>
<script>
app.createIdParam = function(id) { return {id:id}; }
</script>下一个问题是,您似乎不希望iron-ajax在设置URL时自动请求。因为字符串"false“是真实的(奇怪,当然是真的),所以它会发出请求。只需不包含auto参数,然后使用以下代码(使用上面的ajax更改我的示例)来启动ajax请求。
if (app.itemId)
document.querySelector("#itemAPI").generateRequest();希望答案比你原来的问题更多。
https://stackoverflow.com/questions/32214523
复制相似问题