javascript 中无法识别 Codeigniter 基本网址

Posted

技术标签:

【中文标题】javascript 中无法识别 Codeigniter 基本网址【英文标题】:Codeigniter base url didn't recognized in javascript 【发布时间】:2016-07-03 06:31:47 【问题描述】:

我的 CI 应用程序中有一个 ajax 请求,这是我的 cstom.js 文件。

$(document).ready(function()
    var base_url='<?php echo base_url();?>';
   $('#add-ct').click(function()      
      $.ajax(
          url:base_url+'stockmanagement/add_category',
          data:category:$('#category').val(),
          success:function(data)
              alert(data);
          ,
          error:function(err)
              alert('error'+err);
          
      );
   );
);  

但是base_url 没有重新定殖,当我检查调试控制台时,base_url 被打印为与这样的源代码相同。

var base_url='<?php echo base_url(); ?>';

更新

我的 javascript 文件包含在视图文件中

<?php if($page=='add-category') echo '<script src="'.base_url().'/assets/js/custom.js"></script>'; ?>

【问题讨论】:

你的文件的文件扩展名是什么? 它是一个 js 文件 custom.js 你希望在一个 js 文件中 php 如何工作? javascript 应该位于您的视图文件中,并带有 .php 扩展名,以便它识别 php 代码。 这个javascript在哪里?提供文件名和文件位置。 【参考方案1】:

在你的头文件中声明 var base_url

<script>
var base_url = "<?php echo base_url();?>";
</script>

【讨论】:

不,它再次打印相同【参考方案2】:
<?php echo base_url();?>

PHP 代码不在 js 文件中执行。你必须声明 var base_url = "&lt;?php echo base_url();?&gt;";在模板文件等PHP文件中作为全局变量。

【讨论】:

【参考方案3】:

问题是您试图在 JS 文件中运行 PHP 代码。这不起作用,因为 PHP 代码只能在以 .php 扩展名命名的文件中运行。

要解决这个问题,您必须在 Javascript 中设置一个全局变量来保存 base_url 的值

所以如果你想包含一个 JS 文件,你应该首先定义变量,如下例所示:

index.php

<html>
  <head>
    <!-- SET GLOBAL BASE URL -->
    <script>var base_url = '<?php echo base_url() ?>';</script>
    <script src="/assets/js/custom.js"></script>
  </head>
  <body>
  </body>
</html>

custom.js

//now we can reference the base_url
alert(base_url+"some/other");

【讨论】:

【参考方案4】:

在模板中,我放了这个:

<script>
  var base_url = "<?= base_url(); ?>";
</script>
<script src="<?= base_url('assets/js/main.js'); ?>">

然后在 main.js 中像这样:

function logout()
    var element = document.getElementById("lobtn");
    location.href = base_url+"user/logout";

它会将您发送到“yoursite.com/user/logout”...

编辑:“lobtn”是您注销按钮的 ID...

【讨论】:

以上是关于javascript 中无法识别 Codeigniter 基本网址的主要内容,如果未能解决你的问题,请参考以下文章

javascript 无法识别 .fbx 文件类型

javascript无法识别相同的ID [重复]

为啥 Javascript 无法识别我的构造函数?

xcode 无法识别 sencha touch javascript 语法

浏览器中的javascript无法同时识别“导入”和JSX

JavaScript 标准样式无法识别 Mocha