聚合物byutv jsonp/iron ajax无反应

聚合物byutv jsonp/iron ajax无反应,ajax,polymer,iron-ajax,Ajax,Polymer,Iron Ajax,我一直在尝试从GW2服务器获取json数据,由于跨域问题,该服务器无法使用iron ajax。然后我尝试了这个byutv jsonp,结果成功了 现在的问题是,我得到了一个具有正确数据的响应,但它不会触发on响应处理程序。因此,数据永远不会放在变量中:/ 有人有提示、暗示或线索吗 byutv的来源 :主持人{ 显示:块; } 关于帕吉纳 帐户名 [[项目名称]] 等级 [[item.rank]] 加入日期 [[item.joined]] 讲解员 [[item.docent]] 洛卡尔 [

我一直在尝试从GW2服务器获取json数据,由于跨域问题,该服务器无法使用iron ajax。然后我尝试了这个byutv jsonp,结果成功了

现在的问题是,我得到了一个具有正确数据的响应,但它不会触发on响应处理程序。因此,数据永远不会放在变量中:/

有人有提示、暗示或线索吗

byutv的来源


:主持人{
显示:块;
}
关于帕吉纳
帐户名
[[项目名称]]
等级
[[item.rank]]
加入日期
[[item.joined]]
讲解员
[[item.docent]]
洛卡尔
[[项目位置]]
克拉斯
[[项目.klas]]
环烯
聚合物({
是‘关于帕吉纳’,
特性:{
c_可见:{
类型:Boolean,/*当元素是活动可见项时为true*/
值:false,
观察者:''u'正在初始化',
},
_c_studenten:{
类型:数组,
},
},
_初始化:函数(){
如果(此.c_可见){
console.log(“关于pagina”);
此._成员_获取_请求_处理程序();
}
},
_成员\u获取\u请求\u处理程序:函数(){
log(“_members\u get\u request\u handler”);
这是$.ajax\u members\u get.contentType=“application/json”;
这是$.ajax\u members\u get.body={
};
这是$.ajax\u members\u get.generateRequest();
},
_成员\u获取\u响应\u处理程序:函数(请求){
console.log(“\u members\u get\u response\u handler aantal studenten=“+request.detail.response.length”);
这个._c_studenten=request.detail.response;
},
derp:function(){
console.log([[u c_studenten]]);
}
});

当您在
\u members\u get\u response\u handler
函数中指定
\u c\u studenten
的值时,您可以从
iron ajax
中删除
last response=“{{u c\u studenten}}”
。这样可以防止将该值设置两次。现在可以确保数据在数组中,而不是作为对象(vaadin网格需要数组数据)。这可能会奏效。如果没有,请确保iron ajax获取的数据格式。

您可以发布发送此请求的元素中的所有代码吗?您的函数必须在
标签中才能访问它们。也许这就是你不明白的原因我已经在你的请求后添加了所有的代码,所有导入都是在另一个导入文件中完成的。如果我知道您更正了,您的请求是由函数
\u members\u get\u request\u handler
发送到服务器的,您收到了一些响应数据,可以在Chrome开发工具的“网络”选项卡上看到它们,但您的侦听器
\u members\u get\u response\u handler
没有启动,正确的?如果是这样的话,您可以尝试在开始时设置事件处理程序而不加下划线,就像这样
members\u get\u response\u handler
因为我在itI中遇到了一些问题,我已经将函数和调用者更改为members\u get\u response\u handler,但没有更改:/yes,您理解正确,多年前GW2说他们不支持JSONP()。如果没有UTV对JSONP的支持,JSONP将无法工作。
<dom-module id="about-pagina">
 <template>
 <style include="shared-styles">
 :host {
 display: block;
 }
 </style>

 <h1>about-pagina</h1>
 <vaadin-grid id="grid" items="[[_c_studenten]]" selected-items="{{selected}}">
       <vaadin-grid-column>
         <template class="header">Account Name</template>
         <template>
           <div class="capitalized">[[item.name]]</div>
         </template>
       </vaadin-grid-column>

       <vaadin-grid-column>
         <template class="header">Rank</template>
         <template>
           <div class="capitalized">[[item.rank]]</div>
         </template>
       </vaadin-grid-column>

       <vaadin-grid-column>
         <template class="header">Date Joined</template>
         <template>
           <div class="capitalized">[[item.joined]]</div>
         </template>
       </vaadin-grid-column>

       <vaadin-grid-column>
         <template class="header">Docent</template>
         <template>
           <div class="capitalized">[[item.docent]]</div>
         </template>
       </vaadin-grid-column>
       <vaadin-grid-column>
         <template class="header">Lokaal</template>
         <template>
           <div class="capitalized">[[item.locatie]]</div>
         </template>
       </vaadin-grid-column>
         <vaadin-grid-column>
           <template class="header">Klas</template>
           <template>
             <div class="capitalized">[[item.klas]]</div>
           </template>
         </vaadin-grid-column>
       </vaadin-grid-column>
     </vaadin-grid>
     <paper-button on-tap="derp" raised>Annuleren</paper-button>

 <byutv-jsonp
   id="ajax_members_get"
   method="GET"
   url="https://api.guildwars2.com/v2/guild/secretcode/members"
   params='{"access_token":"secretcode"}'
   handle-as="json"
   last-response="{{_c_studenten}}"
   on-response="_members_get_response_handler">
 </byutv-jsonp>

 </template>
 <script>
 Polymer({
 is: 'about-pagina',
 properties: {
   c_visible: {
     type: Boolean,                                      /* true when element is the active visible item */
     value: false,
     observer: '_initializing',
   },
   _c_studenten: {
     type: Array,
   },
 },
 _initializing : function() {
   if (this.c_visible) {
      console.log("about-pagina");
      this._members_get_request_handler();
   }
 },
 _members_get_request_handler: function() {
   console.log("_members_get_request_handler");
   this.$.ajax_members_get.contentType="application/json";
   this.$.ajax_members_get.body={
   };
   this.$.ajax_members_get.generateRequest();
 },

 _members_get_response_handler: function(request) {
   console.log("_members_get_response_handler aantal studenten="+request.detail.response.length);
   this._c_studenten = request.detail.response;
 },
 derp: function(){
   console.log([[_c_studenten]]);
 }
 });
 </script>
</dom-module>