奇怪的锚标签行为

时间:2012-09-21 07:38:51

标签: php jquery html codeigniter anchor

在我看来我这样做:

<?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也没有被调用,有人可以告诉我为什么锚标记表现得像这样?我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:4)

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

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

试试这个。 我认为没关系