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

时间:2014-11-02 18:11:36

标签: php jquery ajax codeigniter

我正在使用codeigniter和jquery ajax。我在我的应用程序本地使用wamp(完美运行)和我部署的应用程序(不是那么多)有一些不和。一旦可能的建议修复是将ajax相对路径转换为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一段时间了。这与基本网址硬编码相同吗?如果不是,我该如何做到这一点,而不会弄乱其他路线和部署能力,这是相对路线的优势。

1 个答案:

答案 0 :(得分:2)

在标题部分中,只需添加以下脚本。

<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";
     });
   }
})

非常简单的解决方案。