return 反对 ajax 调用时出现 500 错误

Getting 500 error while return object to ajax call

当我尝试 return 结果到我的 ajax 调用时出现错误。每次尝试 return 数据时都会出现 500 错误。这是我的 ajax 电话: 当我尝试 return 结果到我的 ajax 调用时出现错误。每次尝试 return 数据时都会出现 500 错误。这是我的 ajax 电话:

$("#UserActivation").change(function () {
       var userID = $("#UserActivation").val();
       var searchPic;
       var planID = $("#planid").val();
       debugger;
       $.ajax({
           type: "GET",
           url: "/Home/GetUserImage",
           data: { userID: userID, type: 'Activation', planID: planID },
           dataType: "json",
           contentType: "application/json; charset=utf-8",
           success: function (response) {        
                    debugger;
                    alert(response);
           },
           error: function (xhr, ajaxOptions, thrownError){
                    debugger;
                    alert(xhr.responseText);
           },
           complete: function (a) {
                    // Handle the complete event
                    debugger;
                    alert("ajax completed ");
           }
       });
       return false;
});

而我的控制器功能是:

[HttpGet]
public JsonResult GetUserImage(string userID, String type, string planID)
{
     if (userID != null && type != null && planID != null)
          SaveUser(planID, userID, type);
     DataSet ds = SQL_DB.ExecuteDataSet("SELECT * FROM [M_UserRegistration] where [ActiveFlag] = 1 and UserId='" + userID + "'");
     UserData userData = new UserData();
     if (ds.Tables[0].Rows.Count > 0)
     {                   
          userData.UserID = Convert.ToString(ds.Tables[0].Rows[0]["UserId"]);
          userData.UserImage = "../../Images/Users/" + Convert.ToString(ds.Tables[0].Rows[0]["UserImage"]);
          userData.UserName = Convert.ToString(ds.Tables[0].Rows[0]["UserFirstName"]) + " " + Convert.ToString(ds.Tables[0].Rows[0]["UserLastName"]);
      }
      return Json(userData);
}

在ajax的错误中得到500错误。

您必须允许 json 请求类型 GET 的数据,如下所示。希望这能解决您的问题。

return Json(userData, JsonRequestBehavior.AllowGet);