我需要一些帮助。我正在创建一个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"
}
]
如果有人可以帮我解决这个问题,我会非常感激!我现在很难过。
谢谢
答案 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);
这将自动加载图像