2013-12-18 55 views
1

我需要一些幫助。我正在創建一個Facebook應用程序。需要幫助通過AJAX和其他東西加載數據

我需要做的是: 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

你在這裏有幾個不同的問題。


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)你 「加載」 requeriment您可以使用「的JQuery BlockUI「功能,請檢查this page。總結起來,$ .blockUI()阻止你的頁面,$ .unblockUI()解鎖它。您還可以自定義消息和裝入gif。如果我理解你,你想在屏幕鎖定時顯示這些圖像,當你完成後,解鎖。

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

如果我是正確的,您需要在ajax調用之前屏蔽屏幕,顯示圖像並將其解鎖。把圖像元素的blockUI面板內並更新src屬性使用JavaScript這樣

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

這是一般的想法,你可能需要搜索一些細節,但我認爲這是一個很好的形式給出。

希望這有助於!

+0

感謝你的幫助。這幫助我解決了一些問題。 – bjaeger

0

糾正小錯誤

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

這會自動加載圖像