从PHP触发AJAX
所以这是一个奇怪的问题,你可能会认为它是另一种方式,但它来了 我使用了一个名为Laravel的框架。并不是说这有什么区别,但我认为值得一提。在这个框架上,我有一个web应用程序,可以对相册中的图片进行评级 上传的图片来自android应用程序。图片由手机制作,手机将图片转换为base64并发送到web应用程序。它发送的输入正在被我的web应用程序中的控制器操作接收 以上方法确实有效!但是现在我想在开始使用控制器操作时触发PHP中的某种事件。因此,当上传图片时,使用web应用程序的用户会看到相册中添加了一张新图片 有人能为我指出正确的方向吗从PHP触发AJAX,php,ajax,Php,Ajax,所以这是一个奇怪的问题,你可能会认为它是另一种方式,但它来了 我使用了一个名为Laravel的框架。并不是说这有什么区别,但我认为值得一提。在这个框架上,我有一个web应用程序,可以对相册中的图片进行评级 上传的图片来自android应用程序。图片由手机制作,手机将图片转换为base64并发送到web应用程序。它发送的输入正在被我的web应用程序中的控制器操作接收 以上方法确实有效!但是现在我想在开始使用控制器操作时触发PHP中的某种事件。因此,当上传图片时,使用web应用程序的用户会看到相册中
非常感谢。好吧,你可以从这个网站得到启发,在web应用程序的顶部放置一个条,通知用户更改
或者创建一个重新加载按钮,该按钮亮起并指示更改的数量。当用户单击该按钮时,可以重新加载图库。设置轮询器,每X秒检查一次新图像。如果有新图像,则显示它 这就是stackoverflow处理新答案的方式。如果您检查Firebug中的console选项卡,您将看到它每隔30秒轮询一次 使用jQuery的示例:
setInterval(function() {
$.getJSON('/check-for-images', function(data) {
if (data instanceof Array) {
$.each(data, function(i, image) {
$('<img/>').attr('src', image).appendTo('#container');
}
}
});
}, 30000);
我认为你最好的选择可能是研究异步上传你的图像,然后运行一个回调函数,在成功后更新页面。但是当Android asynctask需要url时,我如何异步上传图像?我认为这在应用程序端是不可能的,因此必须在web应用程序端进行处理。web应用程序的唯一触发器是控制器函数,它处理从手机发送的base64字符串。谢谢,我已经知道这个解决方案,但我认为它不是一个很好的解决方案。我非常喜欢的一个解决方案是websockets,但它确实需要一个nodejs服务器或其他东西。我只有一个带有PHP的Apache服务器。Ratchet是一个用于PHP的web套接字库。只需检查与web套接字和使用您的应用程序的手机的兼容性。@Jack我不认为不使用这种标准方法是不可接受的。它有什么不好的地方?因为它不断检查新的数据库条目,即使没有。只有当有新条目时,websocket才会更新。但是如果没有别的方法,我就得用你的方法。我只是不喜欢不必要的请求。
$result = query('SELECT name FROM images WHERE date > :lastUpdated', $lastUpdated);
echo json_encode(fetchArray($results));