需要帮助使用AJAX和其他一些东西加载数据

时间:2013-12-18 11:04:54

标签: javascript jquery ajax json

我需要一些帮助。我正在创建一个Facebook应用程序。

我需要做的是:  1.从PHP页面获取JSON数据(整个页面只是JSON文本,没有别的)  2.将这些项目放入javascript代码中的数组中  3.在显示图片和“正在加载...”文本时,从背景中的数组加载这些链接  4.当每个页面加载完毕后,获取<div name="desc"></div>的内容并用它替换“正在加载...”文本  5.只要每个页面都已加载

,就重复这些步骤而不刷新页面

阵列中最多可以有25页,但并非总是如此。

这就是JSON数据的样子:

[
   {
     "picture":"URL_TO_PICTURE",
     "link":"URL_TO_SITE"
   },
   {
     "picture":"URL_TO_PICTURE",
     "link":"URL_TO_SITE"
   },
   {
     "picture":"URL_TO_PICTURE",
     "link":"URL_TO_SITE"
   }
]

如果有人可以帮我解决这个问题,我会非常感激!我现在很难过。

谢谢

2 个答案:

答案 0 :(得分:2)

你在那里遇到的问题很少。


1)使用REST WS,这可以通过使用JQuery Ajax Call来实现。这很简单,请检查this link,页面末尾有一些示例。只需设置你的电话类型(我认为这是一个GET),提交的数据的内容类型,预期的数据类型和URL。


2)将接收到的数据放入JSon数组中,在完成函数中执行此操作,如下所示

    .done(function(msg) {
       var msg = JSON.parse(msg);
       console.log("Data loaded successfully and parsed to JSon Array!!");
    }

3)为你&#34;加载&#34;你可以使用的requeriment&#34; JQuery BlockUI&#34;功能,检查this page。总结一下,$ .blockUI()来阻止你的页面,$ .unblockUI()来解锁它。您还可以自定义消息和加载gif。如果我理解你,你想在屏幕锁定时显示这些图像,当你完成时,解锁。

   $.blockUI({ message: '<h1><img id="imgIdInBlock" src="busy.gif" />Loading...</h1>' });

如果我正确,您需要在ajax呼叫之前阻止屏幕,显示图像并最终解锁。将一个图像元素放在blockUI面板中,并使用javascript更新src属性

   function updateImg(data){        
      var imgInBlock = $("#imgIdInBlock");
      $(data).each(function(i,l){
        imgInBlock.setAttribute(data[i].picture);
        (sleep for some secs, search how to..);
      })
   }

这是一般性的想法,你可能需要搜索一些细节,但我认为这是一个很好的方法。

希望这有助于!!

答案 1 :(得分:0)

纠正一个小错误

imgInBlock.setAttribute("src" , data[i].picture);

这将自动加载图像