【问题标题】:How to make getJSON to update correctly an element after page loaded in jQuery Mobile?在 jQuery Mobile 中加载页面后,如何使 getJSON 正确更新元素?
【发布时间】:2011-12-27 11:53:21
【问题描述】:

我正在尝试在 jquery 移动加载网站中获取 getJSON 结果以更新页面加载时的 HTML 元素。

现在,我读到我不应该依赖 ready(),而是绑定到 pageInit。所以我尝试了,但它不起作用。我在 API 事件文档中尝试了许多其他可能合乎逻辑的事件,但没有任何成功。

我最接近成功的是在通过 ajax 加载页面之后,如果我手动刷新页面(使用浏览器的刷新按钮),getJSON 会更新相应的 HTML 元素。你猜,这不是我想要达到的。这是代码现在的样子,以及它的放置位置......

<div data-role="page">
<script>
    $( '#pageContainer' ).live( 'pageinit',function(event){
    //an alert() here does fire right before the page is shown in the browser
    //here is the getJSON code.
    });    
</script>

现在,我需要帮助来弄清楚如何让它发挥作用。当页面出现在浏览器中时,我只希望页面中的元素 X 使用从 JSON 返回的文本进行更新!就像普通的 ready() 函数一样!

(也许指定我正在运行 RC2 是否相关?)

【问题讨论】:

    标签: jquery-mobile getjson


    【解决方案1】:

    如果您不能在这里使用 JSONP,您是否尝试过设置 setTimeout()?您必须在加载 json 对象后触发回调,因此时间至关重要。

    【讨论】:

    • 我很确定我可以使用 getJSON,因为在浏览器刷新时,它确实有效!当 jQuery mobile 在 DOM 中加载页面时,我无法让它工作。 jQuery mobile 确实告诉我们应该使用 pageinit 事件...(...或者您是否打算在 JSON“之前”执行 setTimeout 以便它等到一切都完成?)
    • 嗯,好的。尝试使用getJSON()的回调函数?
    • 你不会相信,但仍然无法尝试。似乎工作中的优先级发生了变化,我还没有回过头来碰那个项目! (只是让你知道,我没有忘记你!一旦我尝试了,我会回来跟进!)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多