如何将数据从客户端传递到服务器?
我在网站上创建了一个非常简单的文本编辑器,每隔几分钟左右我就会将已输入的信息作为文本文件发送回服务器。我正在尝试创建一个类似于googleWave的实时类型的效果。
目前,速度和效率并不是那么重要。快速而肮脏的方式就足够了。
答案 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>