2013-07-12 52 views
0

這裏是我的代碼我的jQuery AJAX調用$阿賈克斯 JS

$("#form-login").submit(function(){ 
    var email = $("#menu_username"); 
    $.ajax({ 
     type: "post", 
     url: "register_cmd.php", 
     data: {email:email}, 
     dataType: "json", 
     cache:false, 
     success:function(data){ 
      if(data.c == "ok"){ 
       window.location.reload(); 
      } else { 
       alert(data); 
      } 
      return false; 
     } 
    }) 
}); 

register_cmd.php

<?PHP 
include 'system/library/main.php'; 

$main = new mainQuery(); 

$chk_email = $main->checkEmail($email); 
?> 

main.php

function checkEmail($email){ 
    $result = "function here"; 
    return $result; 
} 

然後它返回500內部服務器錯誤我不知道爲什麼

+2

檢查你的apache錯誤日誌,在那裏你會得到一些關於它爲什麼給出500錯誤的信息。你也可以檢查文件許可。或者你可以直接通過register_cmd.php?email = email來查看它的行爲。 –

+0

我檢查錯誤日誌這沒什麼錯誤, 然後我去檢查權限沒關係777, 和我直接檢查它返回到index.php,因爲register_cmd.php返回500錯誤 –

+0

清除瀏覽器的緩存,刪除您的瀏覽器的Cookie。 –

回答

0

我只是自己有這個問題,即使我無法找到它的原因,當從POST更改爲GET時,問題500錯誤消失了!

因爲GET方法發送附加到頁面請求的編碼用戶信息。

type:'POST' 

type:'GET' 
0

我做你的代碼變化不大。剛剛嘗試這一點

var email = $("#menu_username").val(); // if you want to take the value from email field 
$.ajax({ 
    type: "POST", 
    url: "register_cmd.php", 
    data: {email:email}, 
    dataType: "json", 
    cache:false, 
    success:function(data){ 
     if(data.result == "ok"){ 
      window.location.reload(); 
     } else { 
      alert(data.result); 
     } 
     return false; 
    } 
}); 

並更改register_cmd.php代碼如下

<?PHP 
    include 'system/library/main.php'; 
    $main = new mainQuery(); 
    $chk_email['result'] = $main->checkEmail($email); 
    print_r(json_encode($chk_email)); // if you are using json, you should use json_encode before it returns. 
    ?> 
0

在main.php需要的功能是類以防萬一它

class mainQuery { 
    public function checkEmail($email){ 
     $result = "function here"; 
     return $result; 
    } 
} 

否則你無法實例new mainQUery;

還有一切要調試的設置

error_reporting(E_ALL); 
ini_set('display_errors', true); 

500是服務器錯誤,並且與ajax無關。

或許這行:

var email = $("#menu_username"); 

可能必須

var email = $("#menu_username").text(); 
//or 
var email = $("#menu_username").val(); 

如果它是一個POSTGET要求不要緊。

相關問題