1

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

这更像是一个学习练习,因为我对 jQuery 和 AJAX 还很陌生,我一直在寻找一种简单的方法来做到这一点,但大多数答案或选项似乎很复杂,并且涉及安装其他软件等。

例如,我想让一个 html 页面监听一个事件,另一个 html 页面会在发生某些事情时发送一个事件;

第 1 页 - 倒计时时钟,每次到达新的时间时,它都会将数据发送到第 2 页

第 2 页 - 侦听此数据,收到后在 div 中显示数据

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

4

2 回答 2

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');
?>

您的站点文件夹:

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

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

于 2013-06-14T10:06:04.473 回答
1

也许你会看看nodejssocket.io 这是很棒的工具,可以做所有事情来通过 javascript 进行交互。

于 2013-06-14T09:55:38.447 回答