2013-10-07 244 views
1

我在我的代碼中使用了一個簡單的ajax函數,它在本地主機中工作,但是當我上傳代碼時,它不起作用! 這是我在視圖腳本:錯誤500(內部服務器錯誤)在codeigniter中使用ajax

<script type="text/javascript"> 
function active(int) 
{ 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("frm_radio").innerHTML=xmlhttp.responseText; 
    } 
    } 

xmlhttp.open("GET","<?php echo site_url("admin/groups/active_img/".$gallery_name."/".$gallery_id)."/"?>"+int,true); 
xmlhttp.send(); 
} 
</script> 

和我的html代碼:

<form id = "frm_radio"> 
. 
. 
. 
<input type="radio" id="radio" name="active" value="'.$item -> id.'" onclick="active(this.value)"/> 
. 
. 
. 
</form> 

,並在我的控制器我有active_img

function active_img($gallery_name, $gallery_id, $itemID) { 

     $name = $gallery_name . "_id"; 
     $actived = $this -> gallery_model -> getitems(NULL, array("active" => 1,  $name => $gallery_id)); 
     $actived[0] -> active = 0; 
     $this -> gallery_model -> additem($actived[0], $actived[0] -> id); 
     $insert_vars["active"] = 1; 
     $this -> gallery_model -> additem($insert_vars, $itemID); 
     return true; 
    } 

與名稱的功能有一些單選按鈕選擇什麼圖像必須是活動的,當調用函數active_img時,它會改變我的數據庫中的某些值並返回true,它在我的localhost中工作,但在服務器中它是n不工作!當我調試我的代碼,我得到這個錯誤:

GET http://example.com/admin/groups/active_img/products/4/10 500 (Internal Server Error) 4:146 
active 4:146 
onclick 4:183 
XHR finished loading: "http://example.com/admin/groups/active_img/products/4/10". 
+0

很有可能是PHP錯誤,並且您的服務器無法顯示它 - 相反,它會拋出「內部服務器錯誤」。檢查您的服務器日誌以獲取關於錯誤的更多詳細信 – adrian7

+0

你有沒有加入csrf保護? –

回答

0

很可能一個PHP錯誤的原因是在error_log解釋。網站根目錄中是否有error_log?其他地方是否有日誌文件夾?原因將在那裏詳細說明。

如果您使用.htaccess,請再次檢查。

相關問題