[英]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.