php - 如何在ajax post中格式化数组
问题描述
我有一个用 php 编码的对话框。提交时,我将数据发送回对话框以通过 ajax 存储(我不希望对话框关闭)。这主要是有效的,但发布数据的格式不是我想要的。这是ajax代码
$('#but1').click(function() {
var apply_to = $("input[name='group-apply']:checked").val();
var el = document.getElementById('multi-selector');
var selected = GetSelectValues(el);
var data = [];
data[0] = 'apply-to:'+ apply_to;
data[1] = 'selected:' + selected;
data = {data};
$.ajax({
url : "example.php",
type: "POST",
data : data,
success:function(result){
$("#form-container").html(result);
}
});
});
当上面运行时,对话框中的 php 显示这个
Array
(
[data] => Array
(
[0] => apply-to:Include
[1] => selected:8,9,5,1
)
)
为了使用上述内容,我需要像这样访问它,然后分解它以获取值。
$_POST['data'][0]
我希望数据像这样显示
Array
(
[0] => apply-to:Include
[1] => selected:8,9,5,1
)
或者,理想情况下:
Array
(
[apply-to] => Include
[selected] => 8,9,5,1
)
如果可能的话,有人能解释一下如何做到这一点吗?
解决方案
尝试使用它
$('#but1').click(function() {
var apply_to = $("input[name='group-apply']:checked").val();
var el = document.getElementById('multi-selector');
var selected = GetSelectValues(el);
var data = [];
data['apply-to'] = apply_to;
data['selected'] = selected;
data = {data};
$.ajax({
url : "example.php",
type: "POST",
data : data,
success:function(result){
$("#form-container").html(result);
}
});
});
推荐阅读
- django - 如何使用 TemplateView 创建 UpdateForm?
- ms-access - 从访问计算查询字段中随机生成的数字生成增量(或没有重复数据的随机)数字
- excel - VBA:将值复制并粘贴到偏移单元格中的宏
- r - 在另一个远程服务器中从当前远程服务器运行 R 代码
- android - 挣扎于使 RecyclerView 列表项膨胀的上下文
- javascript - Angular 应用程序中的 event.stopPropagation() 导致茉莉花超时
- swift - 创建 ML 文本分类器概率
- c# - 仅在经过一些操作后,如何将值传递给 C# 中的基本构造函数
- ios - 如何在运行时从 SpriteKit 中的 plist 创建 SKTextureAtlas?
- draftjs - Draft.js 在两个编辑器之间复制时的文本内联样式