【问题标题】:Send data between two pages with jQuery/AJAX使用 jQuery/AJAX 在两个页面之间发送数据
【发布时间】:2013-06-14 09:31:27
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 您将不得不处理数据服务器端。单独的 HTML 不会这样做,因为它是在客户端运行的。
  • 是的,通常情况下,您应该使用数据库服务器端并使用 ajax 制作请求该数据库的页面
  • 是否可以在没有数据库的情况下执行此操作?我希望更快一些,数据不仅可以使用 ajax 和 jquery 从一个 html 页面发送到另一个页面吗?
  • 你可以做的是每小时从另一个 html 文件中获取一个随机 div(但不发送数据并期望根据发送的数据得到响应,这只是服务器端的。HTML 没有处理能力这方面,也不能访问数据)
  • 网络套接字怎么样?我需要更多地研究 Node JS 和 Socket IO 吗?

标签: jquery ajax long-polling


【解决方案1】:

也许您会关注nodejssocket.io 这是一个了不起的工具,可以做所有事情来通过 javascript 进行交互。

【讨论】:

  • 谢谢,使用这些工具来做我想做的事,你说它相当简单吗?我没有使用这些工具的经验
  • 这很简单。而且你会获得很好的经验 :) 你想在 windows 还是 linux 下工作?
  • 啊,谢谢,主要是Linux
【解决方案2】:

最简单的方法是,安装一个服务器(例如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)

【讨论】:

  • 这太棒了,谢谢,当我最初想到它时,我想我没有意识到任务的大小!我会试试这个,我担心使用数据库会很慢?如果每隔几秒就有变化?
  • 我认为,最好从使用比数据库更简单的文件开始(同样并不意味着它很复杂),对于数据库延迟,这完全取决于您的数据库大小...
猜你喜欢
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 2022-09-24
  • 2020-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多