我正在使用闪光灯网络摄像头拍照。它工作得很好,并通过 POST 返回一个 URL。
我正在用 PHP 进行编码,并希望在收到该 POST 数据后显示该数据,问题是我不重新加载页面。
我环顾四周,不确定是否动态加载这个数据数组。
我应该去哪里寻找? jQuery?
啊,想通了。我的 Flash 有一个内置的回调函数,所以我只需从那里附加数据!
jQuery 无法读取除 URL (GET) 中出现的请求数据之外的任何类型的请求数据。您将需要使用 PHP(或其他一些服务器端语言)来处理 FLash 应用程序创建的响应。
由于您在该过程中使用 Flash,因此您处于某种劣势,因为除非 Flash 应用程序具有某种 JavaScript“PhotoUploaded”事件通知,否则您的页面不会收到 Flash 刚刚提交图片的通知到需要检索和插入的服务器。如果您可以修改 Flash 应用程序以生成外部 JavaScript 事件,那么您可以按照 Frankie 在他的回答中描述的方式继续操作;否则,如果无法修改 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
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)