簡體   English   中英

JavaScript代碼未使用php codeigniter執行

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM