2010-08-19 74 views
2

我正在使用闪光灯摄像头进行拍照。它工作的很好,并通过POST吐出一个URL。用jQuery显示POST数据?

我在PHP中编码,并希望显示此POST数据一旦收到,问题是我不重新加载页面。我看了看周围,我不确定动态加载这个数组数组。

我应该在哪里看? jQuery的?

啊,算出来。我有Flash的东西有一个内置的回调函数,所以我只需要从那里追加数据!

回答

0

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 
}); 
0
  1. Flash每次回调URL都会调用JavaScript。
  2. 的Javascript联系人服务器(PHP)和获得内容
  3. 的Javascript注入内容到页面

这样的(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); 
}