从服务器(NodeJS)到浏览器的Javascript序列化

7
我想将一个JS对象的实例从服务器端序列化到客户端(该对象包含数据成员和函数)。
我在两端都使用Javascript堆栈,所有用户都使用Chrome,我的服务器端是NodeJS实现。
我应该如何做?由于我的服务器是Javascript,所以这应该很简单。
1个回答

9
你可以将它作为JSON字符串发送。这里有一个例子:点击查看
response.writeHead(200, {'Content-Type': 'application/json'});
response.write(JSON.stringify(yourObject));
response.close();

你试过使用Ajax吗?请注意,客户端JavaScript对服务器端语言一无所知。因此,在客户端应使用传统技术。 - Darin Dimitrov
当然我会使用AJAX,但是我该如何将字符串转换为对象? - user407854
嗯,有eval但如果你使用像jQuery这样的JavaScript框架,它会在AJAX的“success”回调中自动为您提供一个js对象。例如:$.post('/foo', function(obj) { /** 在这里obj将直接是一个对象 **/ }); - Darin Dimitrov
JSON 对象还提供了一个解析方法,所以 JSON.parse(str) 是 eval 的更安全的替代品。然而,在一些旧版本的浏览器上不支持它,因此如果您需要支持 ie7 等浏览器,请在客户端包含 http://www.json.org/json2.js 库。 - Marcus Pope

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接