使用Javascript传递数据

时间:2010-04-26 21:29:23

标签: javascript client-server

如何将数据从客户端传递到服务器?

我在网站上创建了一个非常简单的文本编辑器,每隔几分钟左右我就会将已输入的信息作为文本文件发送回服务器。我正在尝试创建一个类似于googleWave的实时类型的效果。

目前,速度和效率并不是那么重要。快速而肮脏的方式就足够了。

4 个答案:

答案 0 :(得分:1)

看看Ajax。或者在Simple example

来自Wikipedia

  

使用Ajax,Web应用程序可以在后台异步检索服务器中的数据,而不会干扰现有页面的显示和行为。使用Ajax技术可以增加网页上的交互式或动态界面。

答案 1 :(得分:1)

你会想要使用AJAX。此外,您只需要使用setInterval启动JavaScript计时器,该计时器将指定保存之间的延迟。当达到间隔延迟时,将进行AJAX调用,该调用将调出文本编辑器的当前值。

答案 2 :(得分:1)

您还可以考虑在计时器上将数据写入localStorage(如果浏览器支持它)

答案 3 :(得分:0)

该技术称为AJAX。简单地说,AJAX使您能够在javascript中发出HTTP请求。异步进行时,请求在后台处理(在自己的线程中),完成后,执行您指定的回调函数。

虽然知道如何通过本机浏览器API完成工作总是一个好主意,但是流行的jQuery等javascript库可以为您节省大量的代码。示例代码:

var editor = $('#editor');

/* Hijack regular form submission and send the data via AJAX
   by listening 'submit' event. */
editor.submit(function() {
    $.post(editor.attr('action'), editor.serialize(), function() {
        // code to be executed after successfull request
    });
    return false;
});

/* Auto-submit the form once per minute by firing 'submit' event. */
setInterval(function() {
    editor.submit();
}, 1000 * 60);

HTML:

<form id="editor" action="/path/to/your/save/handler" method="post">
    <fieldset>
        <textarea name="content" cols="70" rows="30"></textarea>
        <button type="submit">Save</button>
    </fieldset>
</form>