我使用codeginiter作为php框架,我想将jquery发布数据发送到我的一个方法.. 该方法在Inbox控制器内声明,其名称为read,例如:
public function read($data){
//do somethin with $data
}
在我的javascript代码中我有这个
$.post('inbox/read', { somedatahere:value}, function.....);
当我使用此表单时,我收到了这个帖子网址www/inbox/read?somedatahere=value
但我真的很想这样...... www/inbox/read/value...
这是我怎样才能解决这个问题,但不是很花哨......
$.post('inbox/read/' + value, {}, function.....);
答案 0 :(得分:1)
首先,如果您发布jQuery
帖子,则数据不在网址中,而是在请求正文中。
$.post('inbox/read', { url: value });
您可以按如下方式在控制器中访问此数据:
function read() {
$url = $this->input->post('url');
}
确保加载正确的帮助程序和库。我不知道你需要加载哪一个,我认为是URL助手,但我不确定自从我使用Codeigniter以来已经有一段时间了。
答案 1 :(得分:0)
你可以尝试一下
post_url = '<?=base_url()?>' + 'inbox/read';
post_data = {
'somedatahere': status,
};
$.post(post_url, post_data, function(e){
// todo
}
答案 2 :(得分:0)
要扩充Dieter's answer,您还可以使用常规的ajax请求并更改网址
$.ajax({
url: '/inbox/read/' + value,
...