我正在使用jQuery从名为“edit”的视图中调用我的“志愿者”CodeIgniter控制器的方法,该视图采用单个参数“id”
视图的URI是:
volunteer/edit/3
我调用了我的update()
方法:
$.post('volunteer/update', function(data) {
console.log(data);
});
现在所有方法都是回显一个URI段:
public function update(){
echo $this->uri->segment(2, 0);
}
想要的是视图的URI的一部分,其中update()
被调用(“编辑”视图)。相反,我得到了一段update()
的URI。如何获取编辑视图的URI片段,以便我可以在update()
方法中使用它?
答案 0 :(得分:2)
答案 1 :(得分:0)
您需要传入AJAX调用的POST数据中的段值。
您的选择是:
1)您可以使用JavaScript解析URL以确定该段的值,例如:
<script>
var postData;
// assign whatever other data you're passing in
postData.lastSegment = window.location.href.substr(window.location.href.lastIndexOf('/') + 1);
$.post('volunteer/update', postData, function(data) {
console.log(data);
});
</script>
2)您可以使用PHP在视图中预先填充JavaScript变量,然后在POST中使用
<script>
var postData;
// assign whatever other data you're passing in
postData.lastSegment = <?php echo $this->uri->segment(2, 0); ?>;
$.post('volunteer/update', postData, function(data) {
console.log(data);
});
</script>
最后在update()
控制器中,您可以使用$this->input->post()
或$_POST
从POST中提取数据。