使用按钮重新加载包含ajax消耗的XML数据的页面或div

时间:2014-08-05 15:56:45

标签: jquery ajax mobile refresh reload

我正在使用多页HTML文档处理PhoneGap Web应用程序。在页面的“pagebeforecreate”期间,XML数据被消耗在$ .when中延迟的多个ajax调用。如果用户的设备无法连接到Internet,则该页面会显示错误消息和一个用户可以访问Internet时重新加载页面的按钮。

问题是页面没有重新加载并继续显示错误消息和按钮。我在jQuery文档中找到了“reload”,然后看了几个使用它的例子。关于如何处理重新加载页面的任何建议?

  $(document).ready(function() {
    $("#ref_butn").click(function(){
      location.reload(true);
    });
  });

  function createList(categoryId, eventType) {
    $.when(
      getXMLData("video", categoryId),
      getXMLData("desc", categoryId),
      getXMLData("thumb", categoryId)
      ).done(function(videoAddress, videoDesc, videoThumb) {
        //builds line items and appends to targetoutputList like in .fail function below
        createLineItem(videoAddress, videoDesc, videoThumb, eventType);
      }).fail(function() {
        var targetoutputList = "#outputList" + eventType;
        var errorLineItems = [];
        errorLineItems.push('<li><h2>Try again.</h2><p>Cannot load list.</p>
           <button id="ref_butn">Refresh the page!</button></li>');
        $(targetoutputList).append(errorLineItems).listview("refresh");
    });

1 个答案:

答案 0 :(得分:0)

试试这个,因为它可能无法识别窗口元素:

$(document).one("pageinit", function() {

    $("#ref_butn").click(function(){
       window.location.href = "mypage.html";
    });

});