我在我的项目中使用了一些使用过的代码
下面的代码用于在视图
中写入的愿望列表中添加产品<p class="p"><a<?php echo "onclick='addtowishlist($product->id)'"; ?>>Add To Wishlist</a></p>
的Javascript代码 function addtowishlist(pid) { remoteCall("cart/addtowishlist/"+pid,"","loadlist"); }
function loadlist() { alert(sResponse); }
这是我的控制器命名购物车
public function addtowishlist($pID)
{
$data=$this->Product_model->addtowishlist($pID);
echo $data;
}
这是我的模型命名Product_model
function addtowishlist($ProductID) { echo "Added succesfully";
}
这是我在javascript中使用的ajax远程调用函数
enter code herefunction remoteCall(sUrl, sQueryStr, sCalledBy){
uri = sUrl;
callingFunc = sCalledBy;
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
if (xmlHttp)
{
xmlHttp.onreadystatechange = stateHandler;
xmlHttp.open("POST", sUrl, true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(sQueryStr);
} }
我只想显示在控制器中写入的消息,当单击添加到愿望列表链接时显示
这是如何调用函数
<p class="p"><a onclick="addtowishlist(<?php echo $product->id; ?>)">Add To Wishlist</a></p>
我认为问题是因为如果URL,为添加URL到您的客户端代码使用site_url()
函数。修改这部分:
function addtowishlist(pid) { remoteCall("cart/addtowishlist/"+pid,"","loadlist"); }
function loadlist() { alert(sResponse); }
:
function addtowishlist(pid) { remoteCall("<?php echo site_url('cart/addtowishlist/'+pid) ?>","","loadlist"); }
function loadlist() { alert(sResponse); }
当然,这部分代码应该在PHP文件中,以便能够处理PHP部分。
只是为了记录处理这些情况的最佳方法是使用JQuery库的AJAX操作和添加相关的数据到一些属性,如data-href
或其他的