php - 奇怪的 anchor 标记行为

标签 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 } ?>

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

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

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

最佳答案

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

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

试试这个。 我觉得应该没问题

关于php - 奇怪的 anchor 标记行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12526168/

相关文章:

javascript - 使用复选框更改行和列的字体颜色

php - 如何在mysql codeigniter上做一个百分比

javascript - 使用php,ajax从数据库中获取数据

php - 单击按钮时将数据从 MySQL 数据库加载到 HTML 文本框

jquery - MVC3 - 通过 AJAX 和 JSON 发布文件,无需表单

jquery - csurf AJAX 调用 - 无效的 CSRF token

php - 从字符串中删除非ASCII字符

javascript - 滚动后导航栏固定吗?

javascript - 使用 javascript 将 html 节点替换为字符串

html - 如何在单击时更改无序列表的宽度