简体   繁体   English

AJAX返回码200,但触发了错误

[英]AJAX return code 200 but fired error

HTML part: HTML部分:

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

Js part : 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 : 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);
}

Remote Address:[::1]:80 Request URL: http://localhost/xxx/handlers/H_GroupHandler.php Request Method:POST Status Code:200 OK 远程地址:[:: 1]:80请求URL: http://localhost/xxx/handlers/H_GroupHandler.php请求方法:POST状态码:200 OK

It returns 200 but ajax fired error function and occure something went wrong. 它返回200,但是ajax触发了错误函数,并发生了问题。

Form Data in browser : 浏览器中的表单数据:

user_id:1 user_id:1

group_id:6 group_id:6

mode:join_group 模式:join_group

Your Ajax working fine but as seen you use dataType : "json" and your php file returning string that's why error block execute 您的Ajax工作正常,但是看到您使用dataType:“ json”,并且您的php文件返回字符串,这就是执行错误块的原因

adding header before echo your json will solve you problem echo您的json之前添加标题将解决您的问题

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM