在此页面(rolemanage.php)上,单击时有一个按钮,它将触发脚本提供数组数据
按钮代码(rolemanage.php):
a href="<?= base_url('admin/roleaccess/') ?>" data-toggle="modal" data-target="#aksesModal" class="badge badge-warning aksesModal" data-id="<?= $r['id_lvl']; ?>" class="badge badge-warning">Akses</a>
onclick脚本(rolemanage.php)
$('.aksesModal').on('click', function() {
const id = $(this).data('id');
$.ajax({
url: "<?= base_url('admin/getMenuid'); ?>",
data: {
id: id
},
method: 'post',
dataType: 'JSON',
success: function(data) {
var strData = JSON.stringify(data);
}
}); });
因此变量数据成功从admin / getMenuid获取数组,并在控制台中返回结果数组,如下所示:
(1) […] 0: Object { id: "4", menu: "Barang Habis Pakai" } length: 1
然后,我尝试成功使用json.stringify将该对象制成字符串:函数
和这样的结果:
[{"id":"3","menu":"Menu"}]
问题是:当我尝试使用以下命令在此页面(rolemanage.php)中调用strData时
var_dump(json_decode($_POST['strData']));
它显示未定义的索引strData。
然后如何获取strData值?
答案 0 :(得分:1)
你不能。
Ajax不涉及时间旅行。您无法使用第4步之前获得的数据来更改第1步中发生的事情。
在第6步中使用JavaScript进行处理(并使用新数据修改DOM),或者不使用Ajax而是使用常规表单提交。
答案 1 :(得分:0)
您应该执行另一个AJAX请求,并在其中传递strData作为参数。
此外,如果要将所有内容都保留在同一文件(rolemanage.php)中,则应编写一条if语句,检查strData是否存在并根据结果进行操作