我正在尝试在codeigniter中尝试一个ajax调用,但是如何在URL中编写控制器及其函数名称。
$.ajax({
type : "POST",
url : "<?php echo base_uri(); ?>/application/controllers/controllerName/FunctionName",
});
在这里,我正在写整个路径,但似乎不对。这还可以还是有更好的方法?预先感谢。
实际上,您应该能够这样称呼它:
$.ajax({
type : "POST",
url : "/controllerName/FunctionName",
});
,但这取决于您的URL结构以及您是否在URL结构中摆脱了index.php
。在这种情况下,URL将是"/index.php/controllerName/FunctionName"
$.ajax({
type : "POST",
url : "<?php echo base_url(); ?>/controllerName/FunctionName"
});
或
$.ajax({
type : "POST",
url : "<?php echo site_url(); ?>/controllerName/FunctionName"
});
写一些页面顶部的位置,例如,标题部分中的JS代码。
注意:此代码应在您的Ajax方法上方
<script type="text/javascript">
var base_url = "<?php echo base_url(); ?>";
function site_url(url){
var bu = "<?php echo base_url(); ?>";
url = (url)?url:"";
return bu + "index.php/" + url;
}
</script>
然后您可以编写Ajax方法如下:
$.ajax({
type : "POST",
url : site_url("controllerName/FunctionName"),
});
使用这样的使用
url : "<?php echo base_url(); ?>index.php/controllerName/FunctionName",
您的代码中的错误
url : "<?php echo base_uri(); ?>/application/controllers/controllerName/FunctionName",
^1 ^2 ^3
- 它应该是
base_url
不是base_uri
- 和3.
application
文件夹不会在URL中使用。这是一个文件结构。不属于URL。
它的工作正常,因为我还没有删除index.php。
$.ajax({
url:"<?php echo base_url(); ?>index.php/ajax/hello",
type:'post',
data:{
"name":name,
"email":email,
"phone":phone
},
success:function(data){
$("#display").html(data);
}
});