Mat*_*hew 4 ajax jquery serialization json
我有一个对象,我想用我的jquery.ajax函数发送,但我找不到任何将它转换为我需要的序列化格式的东西.
$.ajax({
type: 'post',
url: 'www.example.com',
data: MyObject,
success: function(data) {
$('.data').html(data)
}
})
MyObject = [
{
"UserId": "2",
"UserLevel": "5",
"FirstName": "Matthew"
},
{
"UserId": "4",
"UserLevel": "5",
"FirstName": "Craig"
}
]
Serialized_format = [
{
"name": "UserId",
"value": "5"
},
{
"name": "UserLevel",
"value": "4"
},
{
"name": "FirstName",
"value": "Craig"
}
]
Run Code Online (Sandbox Code Playgroud)
所以我会把我的评论作为答案.如果要将数组传输到服务器端,可以将其转换为JSON(至少这将是最简单的方式).
用途JSON:
$.ajax({
type: 'post',
url: 'www.example.com',
data: {paramter: JSON.stringify(MyObject)},
success: function(data) {
$('.data').html(data)
}
});
Run Code Online (Sandbox Code Playgroud)
parameter您要使用的POST参数的名称在哪里.
JSON.stringify 会给你一个字符串:
'[{"UserId":"2","UserLevel":"5","FirstName":"Matthew"},{"UserId":"4","UserLevel":"5","FirstName":"Craig"}]'
Run Code Online (Sandbox Code Playgroud)
在服务器端检索,例如使用PHP和json_decode:
$data = json_decode($_POST['parameter']);
Run Code Online (Sandbox Code Playgroud)
会给你一个对象数组:
Array
(
[0] => stdClass Object
(
[UserId] => 2
[UserLevel] => 5
[FirstName] => Matthew
)
[1] => stdClass Object
(
[UserId] => 4
[UserLevel] => 5
[FirstName] => Craig
)
)
Run Code Online (Sandbox Code Playgroud)
我还建议重命名MyObject为反映变量内容的有意义的东西.实际上,你有一个数组,而不是一个对象(是的,我知道数组也是对象).