我正在使用闪光灯摄像头进行拍照。它工作的很好,并通过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);
}