我已经阅读了大量关于该主题的问题,但没有一个能够解决我的特定问题——我想我在 JS 中格式化对象数组的方式有问题。这是我的 Ajax 函数:
var marketing_prefs = [];
$('#save-marketing-prefs input').each(function() {
var tmp_array = {};
tmp_array['marketing_permission_id'] = $(this).val();
if ($(this).prop('checked')) {
tmp_array['enabled'] = 1;
} else {
tmp_array['enabled'] = 0;
}
marketing_prefs.push(tmp_array);
})
console.log(marketing_prefs);
$.ajax({
dataType: 'json',
type: 'POST',
url: ajax_object.ajaxurl,
data: {
action: 'acrew_save_mc_marketing_prefs',
marketing_prefs: marketing_prefs
},
success: function(response) {
console.log('#####', response);
},
error: function(response) {
console.error('!!!!!', response);
}
});
我正在做的是循环一个带有三个复选框的简单表单并创建一个对象数组,然后这些对象将转到 Mailchimp。我的数据完好无损,但问题是我的布尔值作为字符串传入 PHP。我已经从使用“true”和“false”的 true 和 false 切换到使用 1 和 0 但它们也作为字符串出现。
我想我可以遍历数据并在 PHP 中构建一个新数组,但是数据在到达时非常接近正确,以至于它似乎是不必要的。
如何将我的数据作为非字符串获取?
慕桂英3389331
隔江千里