2012-05-23 153 views
2

我正在收集来自网页访问者的数据并将其放入我创建的JavaScript对象中。但后来我希望能够引用他们输入的数据。我可以将JavaScript对象存储在mySQL数据库中吗?

我有权访问MySQL数据库,那么有没有办法让我在这里存储这个对象?

我想尝试将它保留在对象格式中,而不是将它分解为单独的部分。

+3

您可以序列化对象并将其存储在数据库中。 – Quantastical

+0

为什么要存储对象?为什么不直接存储价值? – Limey

回答

0

看看JSON.你可以使用类似jQuery的东西来序列化表单数据并将其发送到服务器。你也可以使用普通的旧表单,并在服务器端处理输入。

0

只需使用varchar或文本数据类型将其作为JSON对象存储在字段中即可。

9

不,你不能,至少不会。

您可能会将其串行化为字符串。如果它完全由数组,简单对象和JSON format支持的其他数据类型组成(如果它是用户提供的数据(如果二进制文件上传时是主要异常),它可能会执行此操作),那么您可以使用JSON序列化器来这样做。现代浏览器为此提供JSON objectjson2.js将为旧版浏览器填充。然后您可以将该字符串存储在数据库中。

不把它分解成单独的部分确实会抛弃使用关系数据库的许多优点(即关系和执行有用搜索的能力)。

9

在数据库中存储您的对象的JSON.stringified版本,然后JSON.parse当您希望对象再次返回时。它看起来像这样:

var myObj = {some: data, other: stuff}; 
var myObjString = JSON.stringify(myObj); 
// store string in mySQL database here 

// load string from database 
var myJSONString = //mySQL database call 
var myLoadedObj = JSON.parse(myJSONString); 
+2

您可以添加'<! - language:lang-js - >'让SO系统知道应该使用哪种语言突出显示。 – lonesomeday

+0

哦,好吧,很酷。谢谢。 –

相关问题