我在CodeIgniter中有一个URL为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
一起使用的URL。
如果我使用"/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
吗;这是正确的做法吗?
如果您的JavaScript代码位于视图中的<script></script>
之间:
$.post("<?php echo site_url("class/func") ?>", {val:$val}, function(data) {
alert(data);
});
如果您的JavaScript位于单独的.js文件上:
在页面的页脚:
<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);
});
我有一个单独的js文件,我必须从中调用控制器"Verifypass.php"中的函数
$.post( "verifypass", { pass: $("#password").val() }, function(data){
});
这对我来说不起作用,所以我所做的只是在控制器名称的开头添加index.php作为:
$.post( "index.php/verifypass", { pass: $("#password").val() }, function(data){
});
然后就奏效了。