我在CodeIgniter中有一个网页http://127.0.0.1/FOLDER/data/getList
。
在该页面上,有一个肠道列表。在该列表中,每个项目都有一个链接,通过点击我需要使用$.post
jQuery获取一些数据。
我使用过这段代码:
$(".class_name").click(function() {
$val = $(this).attr('val')
$.post("class/func", {val:$val}, function(data) {
alert(data);
});
});
问题在于与$.post
一起使用的网址。
如果我使用"/class/func"
,它会将请求发送到http://127.0.0.1/class/func
(FOLDER未进入)。
如果我使用"class/func"
,它会将请求发送给
http://127.0.0.1/FOLDER/data/class/func
(此处插入的数据是当前页面的类)。
我该如何解决此错误?我应该使用<?php echo base_url() ?>class/func
;这是正确的做法吗?
答案 0 :(得分:1)
<script></script>
之间:$.post("<?php echo site_url("class/func") ?>", {val:$val}, function(data) {
alert(data);
});
在页面的页脚中:
<script>var baseUrl = "<?php echo base_url() ?>";</script>
然后:
$.post(baseUrl + "index.php/class/func", {val:$val}, function(data) {
alert(data);
});
替代方案:
为您的商品设置数据属性
<a href="#nogo" data-ajaxurl="<?php echo site_url("controller/funct") ?>" class="classname">Go!</a>
然后:
$.post($(this).data("ajaxurl"), {val:$val}, function(data) {
alert(data);
});
答案 1 :(得分:0)
我有一个单独的js文件,我必须在控制器“Verifypass.php”中调用该函数。我在$ _post()中有这样的东西:
$.post( "verifypass", { pass: $("#password").val() }, function(data){
});
这对我不起作用,所以我所做的只是在控制器名称的开头添加index.php:
$.post( "index.php/verifypass", { pass: $("#password").val() }, function(data){
});
然后它起作用了。