在将id与php一起应用时,我遇到了一个奇怪的递归错误,但似乎仅在字符串“ MAI001”时才发生。当它只是一个整数“ 123”时,效果很好,我不太确定该怎么做?
$(<?php echo "'#". $row->id."'";?>).on('click', function(){
$.ajax({
url: 'load_contractor', // link to CI function
type: 'POST',
data: {
contractor_id: <?php echo $row->id;?> ,
},
success: function (data) {
window.location.href = "<?php echo site_url('Panel/Admin/index'); ?>";
}
});
});
答案 0 :(得分:2)
您的问题是您的js对象中没有引号。因此,它希望$row->id
是整数。并且当您将字符串传递给它时,它将失败。
此处的正确代码:
$(<?= "'#$row->id'";?>).on('click', function(){
$.ajax({
url: 'load_contractor', // link to CI function
type: 'POST',
data: {
contractor_id: <?= "'$row->id'";?> ,
},
success: function (data) {
window.location.href = "<?= site_url('Panel/Admin/index'); ?>";
}
});
});
P.S。为了更好的可读性,我用短语法<?php echo
替换了您所有的<?=
。在PHP世界中,使用此语法是正常的。如果您使用的是旧的PHP(低于5.4.0版),并且未启用简短语法,则应将其替换回原处。