首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只有在url参数存在时才发出请求。

只有在url参数存在时才发出请求。
EN

Stack Overflow用户
提问于 2015-08-25 21:36:42
回答 2查看 2.3K关注 0票数 1

只有当名为iron-ajax的url参数存在时,此itemId才会发出请求。该参数还应添加到请求中:

代码语言:javascript
复制
<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

显示元素的路径设置如下:

代码语言:javascript
复制
page("/polymer/item", function() {
    app.route = "itemform";
});

page("/polymer/item/:itemId", function(data) {
    app.route = "itemform";
    app.params = data.params;
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-20 21:16:21

最后,我将提出请求的逻辑添加到我的路由设置中。

不管怎样,有两条不同的路线,一条没有对讲机,另一条有。

我只是将generateRequest()调用添加到带有参数的路由中。

票数 0
EN

Stack Overflow用户

发布于 2015-08-26 01:46:59

第一个问题是如何在参数中提供itemId,这是一个根本性的问题。它不能在'params‘属性的字符串中。最好的解决方法是使用一个函数:(假设itemId是"app“模板中的一个值)

代码语言:javascript
复制
<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请求。

代码语言:javascript
复制
if (app.itemId)
    document.querySelector("#itemAPI").generateRequest();

希望答案比你原来的问题更多。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32214523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档