我有这样的jquery,但它似乎无法读取控制器/函数
$('#submit').click(function(){
$.ajax(
{
url:'controller/function',
type:"POST",
success:function(data){
$(".content").load(url);
}
}
)
});
任何人都可以告诉我什么是错的或给出其他解决方案。
答案 0 :(得分:1)
这是我前一段时间提出的解决方案。
在你的html head标签中添加此内容。
<script>
var site = "<?php echo site_url(); ?>";
</script>
然后在你的.js文件中你可以这样做:
$('#submit').click(function(){
$.ajax(
{
url:base + 'controller/function',
type:"POST",
success:function(data){
$(".content").load(url);
}
}
)
});
答案 1 :(得分:0)
使用codeigniter的site_url()函数...
<?php echo site_url('controllername/functionname') ?>
上面的示例将返回类似于:http://example.com/index.php/controllername/functionname;
的内容
试试这个
$.ajax(
{
url:<?php echo site_url('controllername/functionname') ?>,
type:"POST",
success:function(data){
$(".content").load(url);
}
}
根据@kolby评论更新
如果你在单独的js文件中有这个脚本..
在头部创建一个全局变量base_url
,以便在每个文件中获取此变量。
<head>
....//your stuff
<script>var base_url= <?php echo site_url(); ?></script>
</head>
并在ajax中使用它
url:base_url+'controllername/functionname',
答案 2 :(得分:0)
我相信你使用错误的路径,你有firefox,你可以使用firebug来获得响应,响应代码是什么?如果您使用spring mvc和log4j,您可以将日志级别设置为debug,然后您可以看到您发送给服务器的URL以及它是否匹配?