如何监听另一个页面上发生的动作?
Posted
技术标签:
【中文标题】如何监听另一个页面上发生的动作?【英文标题】:How to listen for an action that happens on another page? 【发布时间】:2016-06-12 15:06:46 【问题描述】:不确定我的“条款”是否正确,因为我是新手。
页面 A: 显示新提交问题的页面。
页面 B: 用户可以提交新问题的页面。
当新提交的问题已在页面 B 上提交时,我如何让页面 A“听”或“知道”,以便页面 A 刷新问题。
其次:我必须让服务器参与进来吗?我能以某种方式监听客户端事件吗?
我只能使用 Angular JS 和 JQuery 库。
【问题讨论】:
使用socket.io之类的东西并广播它。 我无法使用其他人制作的其他库。 您需要使用 web sockets 或 ajax 与服务器通信 在给定时间刷新 B 页面? Ajax 请求? 我没有得到反对票?这是针对我的项目的,所以我显然不能付钱给某人...@JorelAmthor,当您说在给定时间刷新时,您的意思是每X分钟刷新一次?这不是我想要做的,或者这是你可以在客户端做的方式? 【参考方案1】:页面 A:
<a id="sendData">Send Data to Page B </a>
var url = http://localhost/yoursite/writeToFile.php
$('a#sendData').click(
$.ajax( url: url, type: "POST", data:test:'test' )
.done(function()
$(this).append(' sent!');
);
);
页面 B:
<div>Listening to Page A </div>
window.setInterval(function()
listenToPage1();
, 5000);
function listenToPage1()
var url = http://localhost/yoursite/readFromFile.php
$.get(url, function(data) $('div').html(data); );
writeToFile.php
<?php
$fp = fopen('data.txt', 'a');
fwrite($fp, $_POST);
fclose($fp);
?>
readFromFile.php
<?php
readfile('data.txt');
?>
假设您使用的是 PHP。否则,您必须将这些脚本转换为您的后端语言。
您的网站结构
www/
/yousite
readFromFile.php
writeToFile.php
page1.php
page2.php
data.txt
【讨论】:
以上是关于如何监听另一个页面上发生的动作?的主要内容,如果未能解决你的问题,请参考以下文章