2011-07-25 51 views
1

我正在编写一个奇怪的脚本,它包含将变量从客户端传输到nodejs服务器。
所以如果有一个日期变量,我怎么能转移它并在服务器上使用相同的变量?
是否有任何方式序列化对象并在服务器端检索它们,使它们保持相同的类型(日期,函数,变量,字符串,对象...)?

谢谢将javascript变量从客户端传输到服务器

+1

只要不使用'eval()',无论你做什么。 –

回答

1

你可能除了nowjs退房DNode。我一直在观看这两个项目,但还没有涉足这些项目。但是,我认识到DNode正在node.js社区建立更多的牵引力,我总是听到它的赞扬。

https://github.com/substack/dnode http://substack.net/posts/85e1bd/DNode-Asynchronous-Remote-Method-Invocation-for-Node-js-and-the-Browser

时区是在我的应用程序非常重要,所以我发现将日期序列化为ISO8601格式的日期字符串效果最好。 @如果你不关心时区,或者可以假设所有的日期都是UTC,那么麦克的解决方案非常棒。有很多JavaScript库可以帮助序列化/反序列化ISO8601。

+0

看来,now.js项目几个月前就被放弃了。 http://news.ycombinator.com/item?id=4667826 –

+0

是否有可能使用dnode同步客户端和服务器之间的变量? –

2

您可以将其转化为可通过JSON发送一个序列号的日期。

new Date(+new Date) 

是完全有效的。

+new Date 

前缀+新创建的日期转换为一个数字,

new Date(myNumber) 

重新组成从众多的日期。

0

正如我之前发布的,将Date Object序列化为字符串文字,可以是以毫秒为单位的值,也可以是格式为Date的字符串。

使用通过请求正文中的Date字符串的POST请求或通过查询参数传递字符串的GET请求将其获取到服务器。在那里你可以使用Date构造函数对字符串进行反序列化。

1

Now.js能抽象所有的系列化,deserialisation ..它提供的node.js服务器和浏览器客户端之间共享命名空间:

http://nowjs.com/

相关问题