2015-11-03 59 views
0

HTML部分:AJAX返回代碼200,但解僱錯誤

<a href="javascript:void(0)" onclick="$.join_group(<?=$USER_ID?>, <?=$groups[$i]["id"]?>)"><?=$language["join"]?></a> 

的js部分:

$.join_group = function(user_id, group_id) { 
     var input = "user_id=" + user_id + "&group_id=" + group_id + "&mode=join_group"; 
     alert(input); 
     $.ajax({ 
     url : "handlers/H_GroupHandler.php", 
     data : input, 
     type : "post", 
     dataType : "json", 
     success : function (response) { 
      if (!response.error) { 
       alert("asds"); 
      } else { 
       alert("asds"); 
      } 
     }, 
     error: function(jqXHR,error, errorThrown) { 
      if(jqXHR.status&&jqXHR.status==400){ 
       alert(jqXHR.responseText); 
      }else{ 
       alert(jqXHR.status); 
       alert("Something went wrong"); 
      } 
     } 
     }); 
     return false; 
    } 

H_GroupHandler:

$mode = $_POST["mode"]; 
if ($mode == "join_group") { 
     $user_id = $_POST["user_id"]; 
     $group_id = $_POST["group_id"]; 


     $response["error"] = true; 
     $response["error_text"] = "Error !"; 
     echo json_encode($response); 
} 

遠程地址:[:: 1]: 80要求 網址:http://localhost/xxx/handlers/H_GroupHandler.php 要求t方法:POST狀態代碼:200 OK

它返回200,但ajax解僱了錯誤函數,並且出現了一些錯誤。

表單數據在瀏覽器:

USER_ID:1

GROUP_ID:6

模式:join_group

回答

1

你阿賈克斯工作正常,但因爲看到你使用數據類型: 「JSON」 和你php文件返回字符串,這就是爲什麼錯誤塊執行

添加標頭之前echo您的json會解決你的問題

`header('Content-Type: application/json');` 
echo json_encode($response); 
+0

謝謝,它的工作原理 – Dauezevy