1

在我看来,我正在这样做:

<?php if($user_can_write) {?>
<a href=<?php echo base_url('backend_controllers/users/foo')?> style="text-decoration:none">
Add</a>
<?php } ?>

我从我的控制器传递变量 $user_can_write ,这是我的访问控制实现,奇怪的部分是每当我刷新这个页面,即这个视图,锚标记被执行,即,用户控制器中的 foo 函数被调用并执行,每次!基本上 foo 函数将 db 增加一行(将行添加到 db),所以这对我来说真的不切实际,每次刷新时锚标记都会执行

现在,如果我在视图中执行此实现(替代方法):

<?php if($user_can_write) {?>
<a href='javascript:void(0);' onclick="on_click_method_for_anchor()" style="text-decoration:none">
Add</a>
<?php } ?>

在我的 javascript 中,我进一步这样做:

function on_click_method_for_anchor(){
$.ajax({
            url: '<?php echo base_url('backend_controllers/user/foo'); ?>',            
            type: 'POST',
            success: function(result){                
                $('.my_span_tag_class').html(result)
            }
        });

这似乎很完美,即使我重新加载页面,也不会调用 foo,有人可以告诉我为什么锚标签会这样吗?我错过了一些明显的东西吗?

4

1 回答 1

4

我认为您错过了锚标记的 href 属性之后的“”部分。

<?php if($user_can_write) {?>
<a href="<?php echo base_url('backend_controllers/users/foo')?>" style="text-decoration:none">
Add</a>
<?php } ?>

试试这个。我想会好的

于 2012-09-24T12:13:04.967 回答