gpt4 book ai didi

jquery - 如何将对象转换为 jquery.ajax 函数中数据的序列化语法?

转载 作者:行者123 更新时间:2023-12-01 00:01:35 25 4
gpt4 key购买 nike

我有一个对象想要用 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"
}
]

最佳答案

所以我会将我的评论作为答案。如果你想将数组传输到服务器端,你可以将其转换为 JSON(至少在我看来这是最简单的方法)。

使用JSON :

$.ajax({
type: 'post',
url: 'www.example.com',
data: {paramter: JSON.stringify(MyObject)},
success: function(data) {
$('.data').html(data)
}
});

其中 parameter 是您要使用的 POST 参数的名称。

JSON.stringify 会给你一个像这样的字符串:

'[{"UserId":"2","UserLevel":"5","FirstName":"Matthew"},{"UserId":"4","UserLevel":"5","FirstName":"Craig"}]'

在服务器端检索,例如使用 PHP 和 json_decode :

$data = json_decode($_POST['parameter']);

会给你返回一个对象数组:

Array
(
[0] => stdClass Object
(
[UserId] => 2
[UserLevel] => 5
[FirstName] => Matthew
)

[1] => stdClass Object
(
[UserId] => 4
[UserLevel] => 5
[FirstName] => Craig
)
)
<小时/>

我还建议将 MyObject 重命名为有意义的名称,以反射(reflect)变量的内容。事实上,你有一个数组,而不是一个对象(是的,我知道数组也是对象)。

关于jquery - 如何将对象转换为 jquery.ajax 函数中数据的序列化语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4717704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com