【发布时间】:2014-02-12 13:37:55
【问题描述】:
我想知道为什么我们需要在发送到服务器之前序列化一个 JavaScript 对象。
例子:
var send_data= {
id : 10,
name : 20,
school : {
name : "xyz",
location : "some place"
}
}
如果我在不序列化的情况下发送这些数据,使用这样的 ajax
$.ajax({
type: "POST",
url: "some.php",
data: { "info" : send_data}
})
这段代码有问题吗?因为我可以在不反序列化的情况下访问所有数据......
$data = $_POST["info"];
echo $data["school"]["name"];
【问题讨论】:
-
示例中的发送方式没有问题。
-
如果您向服务器发送数据并且从服务器获取数据,请使用
JSON.Stringify,请使用JSON.Parse -
@ArpitSrivastava:没必要。 OP 使用的
data参数可以正常工作。 -
@Cerbrus:但这是一个很好的做法,我们应该使用它来检查天气我们是正确的 dict 或 JSON 到服务器,因为用户处理发布数据的方式。
-
@ArpitSrivastava:你知道 jQuery 在内部序列化数据参数,对吧?你说天气是为了什么?