使用jQuery / AJAX在两个页面之间发送数据

问题描述 投票:1回答:2

我正在寻找一种在两个不同页面上的两个不同Divs之间发送数据的方法,它们都在同一个域中。

这更多的是学习练习,因为我是jQuery和AJAX的新手,我一直在寻找一种简单的方法来执行此操作,但是大多数答案或选项似乎都很复杂,并且涉及安装其他软件等。

我想让一个html页面侦听一个事件,例如,当某个事情发生时,另一个html页面将发送一个事件。

第1页-倒数时钟,每到一个新的小时,它就会将数据发送到第2页

第2页-侦听此数据,当接收到它时,它会在div中显示数据

关于倒计时时钟,这并不完全是我想要做的,仅是示例,但我需要理论。 是否可以仅用2个平面html页面和一些jQuery / AJAX代码进行设置? 它并不需要像我所说的那样只是为了学习而被保护或优化。

jquery ajax long-polling
2个回答
1
投票

也许您会去看一下nodejssocket.io。这是个了不起的工具,可以通过javascript进行交互。


1
投票

最简单的方法是安装服务器(例如wamp ),然后可以使用数据库或文件在页面之间进行通信,然后使用类似的方法:

第1页:

<a id="sendData">Send Data to Page 2 </a>

var url = http://localhost/yoursite/writeToFile.php
$('a#sendData').click(
               $.ajax({ url: url, type: "POST", data:{test:'test'} })
                .done(function() {
                      $(this).append(' sent!');
               });
)};

第2页:

<div>Listening to Page 1 </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');
?>

yoursite文件夹:

www/
  /yousite
   readFromFile.php
   writeToFile.php
   page1.php
   page2.php
   data.txt

当然,您可以使用nodejs通过javascript直接进行交互,但是我认为最好先学习基础知识,然后再转向nodejs (这并不意味着nodejs非常复杂:p)

© www.soinside.com 2019 - 2024. All rights reserved.