【问题标题】:Redirect in javascript function, coeigniter在javascript函数中重定向,codeigniter
【发布时间】:2016-04-29 04:52:22
【问题描述】:

我有以下会显示弹出消息的函数,一旦用户单击确定,它将导航用户到名为 backendBanner 的控制器并调用函数 delete_banner。

html和php写的链接是这样的:

<a href="<?php echo base_url().'backendBanner/delete_banner/'.$banner['banner_path']; ?>">

视图中按钮调用函数的代码

<td>
      <a onclick="return remove_image($(this));" rel="<?php echo $banner['banner_path']; ?>"><input type="button" class="btn btn-danger" value="Delete"></a>
</td>

函数代码 在这个函数中,$banner['banner_path'] 等于 fullpath

<script>
        function remove_image(img)
        {
            if(confirm('<?php echo lang('confirm_remove_image');?>'))
            {
                var fullpath  = img.attr('rel');
                alert(fullpath);
                redirect(base_url()."backendBanner/delete_banner/"+fullpath);
            }
        }
    </script>

我应该如何通过该功能将用户带到链接?

【问题讨论】:

  • 您目前如何调用remove_image() 函数?
  • 应该是window.location="&lt;?php echo base_url().'backendBanner/delete_banner/'.$banner['banner_path']; ?&gt;" + fullpath
  • 在处理客户端代码时始终使用控制台,它会告诉您是否使用了未定义的函数。
  • 你很容易受到 JS 注入攻击。不要将 PHP 中的任意文本回显到 JS 上下文中。如果您的 confirm_remove_image 翻译包含 ANY 引号字符,您将引入 JS 语法错误并杀死整个 &lt;script&gt; 块。始终通过json_encode() 将文本输出到 JS。
  • @VickyGonsalves 感谢您的帮助。效果很好。

标签: javascript php codeigniter


【解决方案1】:

应该是:

window.location="<?php echo base_url().'backendBanner/delete_banner/'.$banner['banner_path']; ?>" + fullpath

【讨论】:

  • 你能帮我解决我面临的另一个问题吗? fullpath 的值是动态的,可以是以下格式“assets/images/banner3.jpg”和“banner4.jpg”。我面临的问题是,当完整路径是“assets/images/banner3.jpg”并且我在 delete_banner 控制器中 var_dump $image_name 的值时,它只返回“assets”而不是“assets/images/banner3.jpg "。
  • 试试var_dump($banner) 看看?
  • 值是通过“完整路径”传递的
  • 你能创建 php fiddle 吗?
  • 当我 var_dump(fullpath) 它是“assets/images/banner3.jpg”
【解决方案2】:

您的 JS 代码中的问题是您使用的是redirect()。这不起作用,因为redirect() 是 PHP/Codeigniter 函数,而不是 JS。

请改用window.location

【讨论】:

    【解决方案3】:

    假设函数 base_url() 它是您创建的有效函数...

    尝试:

    location.href = base_url() + img.attr('rel');
    

    注意:尝试使用一些模板引擎,如树枝、刀片等。

    【讨论】:

      猜你喜欢
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多