我是CI的新手,我正在开发一个电子商务网站。我在向购物车添加产品时遇到问题。
以下是我的代码Jscript和控制器。问题是它在localhost中工作得很好,但在服务器上却没有。
这是我的代码:
Ajax请求
$(document).ready(function(){
$('.add_cart a').on('click',function(e){
e.preventDefault();
var productid = $(this).data('productid');
var productName = $(this).data('prdname');
var productPrice = $(this).data('prdprice');
var productDp = $(this).data('prddp');
console.log(productDp);
console.log(productid);
console.log(productPrice);
console.log(productName);
$.ajax({
url:"www.wesbiteurl/home/addToCart/",
method:'POST',
data:{id:productid, prdname:productName,
prdprice:productPrice, dp:productDp},
success:function(data){
/*alert("product added to cart");*/
$('.msg').html(data);
}
});
});
});
此部分工作正常,我从这里发送数据。
在我的控制器中
public function addToCart(){
$data = array(
'id'=>$this->input->post('id'),
'qty' =>1,
'price' =>$this->input->post('prdprice'),
'name'=>$this->input->post('prdname'),
'options' => array('prdDp' => $this->input->post('dp'))
);
//return var_dump($data);
//array(5) { ["id"]=> string(2) "10" ["qty"]=> int(1) ["price"]=> string(2) "20" ["name"]=> string(18) "product name" ["options"]=> array(1) { ["prdDp"]=> string(90) "here link image" } }
if($this->cart->insert($data)){
return var_dump($this->cart->contents());
}else{
return false;
}
}
正如你可以看到它在if语句之前工作正常,之后它无效。这虽然在localhost中正常工作。
答案 0 :(得分:1)
谢谢你们^^
我的产品名称中有特殊的字符......
这就是答案:
答案 1 :(得分:0)
$data = array(
'id'=>$this->input->post('id'),
'qty' =>1,
'price' =>$this->input->post('prdprice'),
'name'=>$this->input->post('prdname'),
'options' => array('prdDp' => $this->input->post('dp'))
);
$this->cart->insert($data);
$cart = $this->cart->contents();
if(!empty($cart)){
echo print_r($cart);
}