我正在使用codeigniter和jquery ajax。我在wamp上的本地应用程序(运行良好)和部署的应用程序(不太好)之间存在一些不一致。建议的修复方法是将ajax的相对路径转换为ajax的绝对路径,因此看起来像:
url: "YOURBASEPATH/AjaxController/update",
location.href = "YOURBASEPATH/pan_controller/my_detail";
这是我现在的代码:
$.ajax({a
type: "POST",
url: "AjaxController/update",
data:{ i : searchIDs, m : message },
dataType: 'json',
.done(function() {
alert("REFRESHING..");
location.href = "pan_controller/my_detail";
});
}
})
我一直在使用https://philsturgeon.uk/blog/2009/09/Asset-handling-in-CodeIgniter-with-the-BASE-tag一段时间。这和硬编码基本url是一样的吗?如果不是的话,我应该如何在不打乱其他路线和部署能力的情况下做到这一点,这是相对路线的优势。
在标题部分只需添加以下脚本。
<script type="text/javascript">
var BASE_URL = "<?php echo base_url();?>";
</script>
然后在Ajax代码中使用BASE_URL
作为变量。平均值:
url: BASE_URL+"AjaxController/update",
location.href = BASE_URL+"pan_controller/my_detail";
$.ajax({a
type: "POST",
url: BASE_URL+"AjaxController/update",
data:{ i : searchIDs, m : message },
dataType: 'json',
.done(function() {
alert("REFRESHING..");
location.href = BASE_URL+"pan_controller/my_detail";
});
}
})
非常简单的解决方案。