【问题标题】:Javascript code isn't getting into my document ready listener. (forge iOS)Javascript 代码没有进入我的文档就绪监听器。 (伪造iOS)
【发布时间】:2013-07-04 13:40:37
【问题描述】:

这是我的应用主页的整个 javascript 文件。关于为什么它永远不会进入文档就绪侦听器的任何想法?

var photos;
forge.request.ajax({
  url: "http://photos-url.com/pics.json",
  dataType: "json",
  success: function(data) {
    photos = data;
  },
  error: function(error) {
    forge.logging.info("Couldn't fetch pics!");
  }
});

//logging output works here

$(function() {
  //logging output doesn't work here
  //I'm trying to append to the html here, but it never gets into this code
});

【问题讨论】:

  • 我从未见过有人用 JQuery 做到这一点。你是把一个函数放在一个字符串应该是意外的地方,还是这是我从未见过的 JQuery 的一个功能?
  • 你能多放一点你的代码吗?因为如果没有人知道什么是 forge 以及你什么时候触发 ajax 请求,就很难看出问题
  • 您的就绪处理程序中是否存在语法错误?如果日志记录在其他地方工作,这是我的第一个猜测......我建议从你的 JS 中取出所有内容并将其重新添加以查看它在什么时候中断。

标签: javascript jquery trigger.io forge


【解决方案1】:

出于安全原因,禁止跨域请求(与桌面浏览器相同)。您必须配置环境以允许对您的域的请求。详情请看https://trigger.io/docs/current/api/modules/request.html

【讨论】:

  • 谢谢!这个请求实际上工作得很好,但是将来知道这一点很高兴!
【解决方案2】:

json 文件通常被允许从跨域读取,即使这个不会,我仍然怀疑它会影响就绪事件。我没有在我的页面上使用文档就绪功能,因为我遇到了类似的问题(它在页面加载几分钟后触发,或者根本不触发)。您可以尝试 window.onload 或 document.onload 事件。我还会尝试找出 document.readyState 的行为方式,并最终使用间隔手动检查它或尝试将事件侦听器绑定到它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-20
    • 2016-06-24
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2012-05-20
    相关资源
    最近更新 更多