我有这样的jquery,但它似乎无法读取控制器/函数
$('#submit').click(function(){
$.ajax(
{
url:'controller/function',
type:"POST",
success:function(data){
$(".content").load(url);
}
}
)
});
谁能告诉我出了什么问题或给出其他解决方案。
我有这样的jquery,但它似乎无法读取控制器/函数
$('#submit').click(function(){
$.ajax(
{
url:'controller/function',
type:"POST",
success:function(data){
$(".content").load(url);
}
}
)
});
谁能告诉我出了什么问题或给出其他解决方案。
这是我不久前想出的解决方案。
在你的 html 头标签中添加这个。
<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);
}
}
)
});
使用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 文件中有这个脚本,那么 ..
在 head 中创建一个全局base_url
变量,以便您在每个文件中获取此变量。
<head>
....//your stuff
<script>var base_url= <?php echo site_url(); ?></script>
</head>
并在 ajax 中使用它
url:base_url+'controllername/functionname',
我相信你使用了错误的路径,你有firefox,你可以使用firebug来获取响应,响应代码是什么?如果你使用spring mvc和log4j,你可以将日志级别设置为调试,然后你可以看到你发送到服务器的url是什么以及它是否匹配?