我认为即时通讯这样做:

<?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,这是我用于访问控制的实现,奇怪的是,每当我刷新此页面时(即,执行此视图,anchor标签),即,调用并执行了用户控制器中的foo函数,每次!基本上,foo函数会将数据库增加一行(将行添加到数据库中),所以这对我来说实际上是不实际的,因为每次刷新时都会执行anchor标签

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

<?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,有人可以告诉我为什么锚标记的行为如此吗?我错过了明显的东西吗?

最佳答案

我想您只是在定位标记的href属性之后错过了“”部分。

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


尝试这个。
我认为会没事的

10-06 07:54
查看更多