将Ajax变量传递给Codeigniter函数
我认为这是一个简单的问题 我有一个Codeigniter函数,它从表单中获取输入并将它们插入数据库。我想把这个过程简化。现在,函数的第一行从表单中获取id字段——我需要更改它以从Ajax post(它引用表单中包含必要值的隐藏字段)获取id字段。请问我该怎么做 我的Codeigniter控制器功能将Ajax变量传递给Codeigniter函数,codeigniter,jquery,Codeigniter,Jquery,我认为这是一个简单的问题 我有一个Codeigniter函数,它从表单中获取输入并将它们插入数据库。我想把这个过程简化。现在,函数的第一行从表单中获取id字段——我需要更改它以从Ajax post(它引用表单中包含必要值的隐藏字段)获取id字段。请问我该怎么做 我的Codeigniter控制器功能 function add() { $product = $this->products_model->get($this->input->post('id'));
function add()
{
$product = $this->products_model->get($this->input->post('id'));
$insert = array(
'id' => $this->input->post('id'),
'qty' => 1,
'price' => $product->price,
'size' => $product->size,
'name' => $product->name
);
$this->cart->insert($insert);
redirect('home');
}
以及jqueryajax函数
$("#form").submit(function(){
var dataString = $("input#id")
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "/home/add",
data: dataString,
success: function() {
}
});
return false;
});
和往常一样,我要提前表示感谢
$("#form").submit(function(){
var dataString = $("input#id")
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "/home/add",
data: {id: $("input#id").val()},
success: function() {
}
});
return false;
});
注意ajax方法中的data选项。现在您可以像在控制器方法中一样使用
$this->input->post('id')
url: "/home/add",
像
那么我猜codeigniter会把它当作一个正常的参数来处理 谢谢索普,知道这一点很有用。我只需要更改codeigniter函数的第一行,这样它就不会查找表单输入,但是jQueryAjax的“表单输入”和“ajax变量”是一样的,它们都是通过HTTP请求发送的POST参数。AJAX不是一个存在的“东西”,只是一种方法的名称。
url: "/home/add/" + $("input#id").val(),