我正在使用閃光燈攝像頭進行拍照。它工作的很好,並通過POST吐出一個URL。用jQuery顯示POST數據?
我在PHP中編碼,並希望顯示此POST數據一旦收到,問題是我不重新加載頁面。我看了看周圍,我不確定動態加載這個數組數組。
我應該在哪裏看? jQuery的?
啊,算出來。我有Flash的東西有一個內置的回調函數,所以我只需要從那裏追加數據!
我正在使用閃光燈攝像頭進行拍照。它工作的很好,並通過POST吐出一個URL。用jQuery顯示POST數據?
我在PHP中編碼,並希望顯示此POST數據一旦收到,問題是我不重新加載頁面。我看了看周圍,我不確定動態加載這個數組數組。
我應該在哪裏看? jQuery的?
啊,算出來。我有Flash的東西有一個內置的回調函數,所以我只需要從那裏追加數據!
jQuery是無法讀取任何種類的要求除了出現在URL(GET)中的數據之外的數據。您將需要使用PHP(或其他服務器端語言)來處理由FLash應用程序創建的響應。
由於您使用Flash進行流程的事實,您在某種程度上處於劣勢,因爲除非Flash應用程序具有某種JavaScript「PhotoUploaded」事件通知,否則您的頁面將不會收到Flash通知只是提交了一張圖片到您的服務器,需要檢索和插入。如果您可以修改Flash應用程序以創建外部JavaScript事件,那麼您可以按弗蘭基在他的回答中描述的那樣進行操作;否則,如果修改Flash應用程序不是一個選項,那麼另一個解決方案就是讓你的頁面每隔一段時間(大概需要5-10秒)向服務器發送一個請求,以檢查是否有照片存在顯示尚未。
以這種方式設置與服務器的輪詢最簡單的方法是確保每次從Flash上傳照片都有一個唯一的,預先確定的標識符,以便您的網頁在初始加載時知道。然後,您可以每隔幾秒用一個AJAX請求來ping您的服務器,並將其傳遞給唯一標識符,以便找到正確的映像。
基本例如:
function GetPhoto() {
$.get('/getphoto.php?ID=1541XJ55A6', function(response) {
if(response.ImageUrl !== "") {
$(".profile-image").attr("src", response.ImageUrl);
if(getPhotoTimer !== undefined) {
clearInterval(getPhotoTimer);
}
}
});
}
$(document).ready(function() {
var getPhotoTimer = setInterval("GetPhoto()", 10000); // every 10 seconds
});
這樣的(Flex代碼):
// attach a function to the completeHandler
private function completeHandler(evt:Event):void {
javascriptComplete();
}
// declare the function that will call the javascript function
private function javascriptComplete():void {
var javascriptFunction:String = "galeryUploadComplete("+Application.application.parameters.opt+")";
ExternalInterface.call(javascriptFunction);
}