[英]Javascript code is not executing with php codeigniter
我在项目中使用了一些二手代码
以下代码用于在视图中编写的愿望清单中添加产品
<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添加到客户端代码中,则使用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
或其他属性)中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.