使用codeigniter将ajax相对路径转换为绝对路径

问题描述:

我正在使用codeigniter和jquery ajax。我在wamp(完美工作)和我部署的应用程序(不是很多)上本地应用程序出现了一些故障。一旦可能提出的解决办法是阿贾克斯相对路径转换为阿贾克斯绝对路径,所以它看起来像:使用codeigniter将ajax相对路径转换为绝对路径

url: "YOURBASEPATH/AjaxController/update", 
location.href = "YOURBASEPATH/pan_controller/my_detail"; 

这里是我的代码现在:

$.ajax({a 
    type: "POST", 
    url: "AjaxController/update", 
    data:{ i : searchIDs, m : message },       
    dataType: 'json', 
    .done(function() { 
      alert("REFRESHING.."); 
      location.href = "pan_controller/my_detail"; 
    }); 
    } 
}) 

我一直在使用https://philsturgeon.uk/blog/2009/09/Asset-handling-in-CodeIgniter-with-the-BASE-tag一段时间。这与硬编码的基础url相同吗?如果不是,我该如何做到这一点,而不会搞乱其他路线以及部署相对路线优势的能力。

在您的标题部分只需添加以下脚本。

<script type="text/javascript"> 
    var BASE_URL = "<?php echo base_url();?>"; 
</script> 

然后在您的Ajax代码中使用BASE_URL作为变量。意思是:

url: BASE_URL+"AjaxController/update", location.href = BASE_URL+"pan_controller/my_detail";

$.ajax({a 
    type: "POST", 
    url: BASE_URL+"AjaxController/update", 
    data:{ i : searchIDs, m : message },       
    dataType: 'json', 
    .done(function() { 
      alert("REFRESHING.."); 
      location.href = BASE_URL+"pan_controller/my_detail"; 
    }); 
    } 
}) 

很简单的解决方案。

+1

非常感谢你 – user61629 2014-11-02 18:54:14

+0

不客气。很高兴看到它帮助你。 – 2014-11-02 18:55:56