📅  最后修改于: 2023-12-03 15:38:04.434000             🧑  作者: Mango
在前端开发中,经常需要通过 AJAX 技术将数据传递给后端。而在某些情况下,需要向后端传递多个 JSON 对象。那么如何使用 jQuery 的 $.ajax() 来实现这个功能呢?
可以通过将多个 JSON 对象封装到一个数组中,再作为数据传递给后端,代码如下:
var data = [
{name: '张三', age: 18},
{name: '李四', age: 20},
{name: '王五', age: 22}
];
$.ajax({
url: 'xxxxxxx',
type: 'POST',
data: {data: JSON.stringify(data)},
success: function (result) {
// 处理返回数据
}
});
在发送请求时,将数组通过 JSON.stringify() 方法转为字符串,然后作为 data 的属性值传递。在后端接收到数据后,再将字符串转为数组进行处理。
另一种方式是将多个 JSON 对象封装到一个对象中,代码如下:
var data = {
item1: {name: '张三', age: 18},
item2: {name: '李四', age: 20},
item3: {name: '王五', age: 22}
};
$.ajax({
url: 'xxxxxxx',
type: 'POST',
data: data,
success: function (result) {
// 处理返回数据
}
});
这种方式与第一种方式不同的是,没有将多个 JSON 对象封装到一个数组中,而是将它们作为一个对象的属性。在发送请求时,直接将对象作为 data 的属性值传递。
在后端接收到数据后,可以使用类似如下代码来获取每一个 JSON 对象:
$item1 = json_decode($_POST['item1']);
$item2 = json_decode($_POST['item2']);
$item3 = json_decode($_POST['item3']);
通过上面的介绍,我们可以发现,在使用 jQuery 的 $.ajax() 来传递多个 JSON 对象时,主要有两种情况——使用数组或者使用对象。这两种方式都可以满足我们的需求,选择哪一种取决于实际应用场景。