Javascript 从自定义元素重新加载聚合元素或ajax调用

Javascript 从自定义元素重新加载聚合元素或ajax调用,javascript,cookies,polymer,Javascript,Cookies,Polymer,我已经在这方面工作了好几天了,脑子里什么都没想出来!我有一个使用cookies进行会话处理的应用程序。应用程序使用了我在标题中导入的几个自定义元素,其中一些需要使用来自cookie会话的信息来进行ajax核心调用。问题是当cookie未设置时(案例:first start),因此,我登录到应用程序,必须重新加载页面才能开始获得“核心ajax自动”结果。我不知道如何做一个监听器,或者如何重新加载所有自定义元素,或者如何重新加载特定的核心ajax调用 你们中有人有类似的情况吗?哪种方法是最好的修复方

我已经在这方面工作了好几天了,脑子里什么都没想出来!我有一个使用cookies进行会话处理的应用程序。应用程序使用了我在标题中导入的几个自定义元素,其中一些需要使用来自
cookie会话
的信息来进行
ajax核心
调用。问题是当cookie未设置时(案例:first start),因此,我登录到应用程序,必须重新加载页面才能开始获得“
核心ajax自动
”结果。我不知道如何做一个监听器,或者如何重新加载所有自定义元素,或者如何重新加载特定的核心ajax调用

你们中有人有类似的情况吗?哪种方法是最好的修复方法


提前谢谢

听起来好像需要设置core ajax auto=“false”并使用setTimeout()延迟查询

您可以在聚合元素内部调用ajax调用,方法是为其分配一个id(本例中为ajax)并调用go();作用

this.$.ajax.go(); 
要从元素外部调用它,必须首先在元素内部创建函数

Polymer('custom-element', {
   doSend: function (event, detail, sender) {
     this.$.ajax.go();
   }
});
然后使用

document.querySelector('custom-element').doSend(); 
因此,将所有这些放在一起并延迟查询,您可以使用

setTimeout(function () {
    document.querySelector('custom-element').doSend();
}, 1000);

等待1秒后,将在自定义元素中调用core ajax的go函数。

我也有同样的想法,但如果用户暂时不登录,它将处于一个不希望出现的循环中(我想,也许我错了),那么,我最终做了什么

我有我的ajax调用,在响应操作中,我使用哑函数将文件导入到头中

if(data.user){
   this.importLinks();
} else {
.....
}


importLinks: function () {
    this.createLinkRel('/static/resources/custom-elements/file.html');
    this.createLinkRel('/static/resources/custom-elements/log.html');
    this.createLinkRel('/static/resources/custom-elements/us.html');
    this.createLinkRel('/static/resources/custom-elements/shop.html');
},


createLinkRel: function (href){
    var script = document.createElement('link');
    script.rel = 'import';
    script.href = href;
    document.getElementsByTagName('head')[0].appendChild(script);
}

感谢您花时间阅读我的帖子并给出答案

这并没有完全解决我的问题,但它让我在数小时无进展的情况下走上了正确的道路。非常感谢。