2013-06-14 2 views
1

두 개의 다른 페이지에서 두 개의 다른 Div 사이에 데이터를 보내는 방법을 찾고 있는데 둘 다 동일한 도메인에 있습니다.jQuery/AJAX를 사용하여 두 페이지 사이에 데이터 보내기

이것은 jQuery와 AJAX에 익숙하지 않은 학습 과정으로, 간단한 방법으로 검색했지만 대부분의 대답이나 옵션이 복잡해 보이며 다른 소프트웨어 설치 등이 포함되어 있습니다.

하나의 html 페이지에서 이벤트를 수신하고 싶습니다. 다른 html 페이지에서 이벤트가 발생하면 예를 들어 이벤트가 전송됩니다.

페이지 1 - 카운트 클록마다가 그것이 2 페이지

2 페이지에 대한 데이터를 전송하는 새로운 시간에 도달 -이 데이터를 듣기를 수신 할 때 그것은 DIV

이것에 데이터를 표시 정확히 내가 카운트 다운 시계에 관해서하고 싶은 것은 아니지만, 그것은 단지 예일뿐입니다. 이론은 내가 필요로하는 것입니다. 이것을 2 개의 플랫 html 페이지와 일부 jQuery/AJAX 코드만으로 설정할 수 있습니까? 그것은 단지 학습을위한 것이라고 말했듯이, 보안되거나 최적화 될 필요가 없습니다.

+1

당신 것 데이터 서버 측을 처리해야합니다. HTML만으로는 클라이언트 쪽에서 실행되기 때문에 HTML만으로는 작동하지 않습니다. – Spokey

+0

예, 일반적으로 데이터베이스 서버 측을 사용하고 아약스를 사용하여이 데이터베이스를 요청하는 페이지를 작성해야합니다. –

+0

데이터베이스없이 이것을 수행 할 수 있습니까? 나는 조금 더 빠른 것을 기대하고 있었는데, 데이터를 한 HTML 페이지에서 아약스와 jquery를 사용하여 다른 페이지로 보낼 수 있습니까? – Alex

답변

1

어쩌면 당신은 nodejssocket.io 을 보았을 것입니다. 이것은 자바 스크립트로 상호 작용을하는 모든 것을하는 놀라운 도구입니다.

가장 간단한 방법은
+0

감사합니다. 내가하고 싶은 일에 대해이 도구를 사용하는 것은 매우 간단할까요? 나는이 공구에 대한 경험이 없다. – Alex

+0

아주 간단하다. 그리고 좋은 경험을 할게 :) Windows 또는 Linux에서 작업 하시겠습니까? –

+0

Ah thnak 당신은 주로 리눅스가 될 것입니다 – Alex

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 

물론 당신이 javascript 직접 상호 작용을 할 nodejs를 사용할 수 있지만, 나는 그것이 기초를 학습하여 시작하는 것이 좋습니다 생각하고 다음 nodejs로 이동할 수 있습니다 (이 nodejs을 의미하지 않는다 매우 복잡하다 : P)

+0

이것은 훌륭합니다. 원래 생각할 때 작업의 크기를 알지 못했습니다! 나는 이것을 시도 할 것이다, 나는 데이터베이스를 사용하는 것이 느릴 것이라고 걱정한다? 몇 초마다 변화가 있다면? – Alex

+0

필자가 생각하기에, 데이터베이스를 사용하는 것보다 파일을 사용하는 것이 더 쉽습니다 (다시 말하면 복잡하지는 않습니다). 데이터베이스가 지연되는 경우 데이터베이스 크기에 따라 ... – Ouadie