提问者:小点点

当我从控制器返回json结果以查看时,它将打印或显示在浏览器本身上


我正在从控制器返回查看的代码是:

var result = new { Result = "0", Tab = "1", EMsg = "Please Enter Applicant Relation Name In Kannada" };

return Json(result, "text/plain");

看来,我必须这样处理

   var response = JSON.parse(responseText); if (response.Result == '1' && response.Tab == '1'){ alert(response.EMsg);$("#TabCertificateDetails")[0].click();}

共1个答案

匿名用户

这不是一个错误或错误。

所以基本上您的控制器返回类型是JSONResult。

您的控制器如下所示

public JsonResult getData(){
  //your stuff
  var result = new { Result = "0", Tab = "1", EMsg = "Please Enter Applicant Relation Name In Kannada" };
  return Json(result);
}

它将在您的浏览器中打印JSON结果。 因为返回类型是JSONResult。

所以理想情况下,在您的控制器中,应该有两个方法。 应该如下所示

public IActionResult GetView(){

   return View("your view name")
}

[HttpGet]
public JsonResult getData(){
  //your stuff
  var result = new { Result = "0", Tab = "1", EMsg = "Please Enter Applicant Relation Name In Kannada" };
  return Json(result);
}

现在,当控制器调用视图时,它将返回一个视图。 在视图呈现之后,您需要进行一个ajax调用来获取一个JSON结果。 默认情况下,json()方法将返回一个json obj。 所以您不需要在UI中解析它。 在得到对象之后,你只需要做你的工作;

//Js code
$.ajax({
    type: "GET",
    url: "/CONTROLLERNAME/METHODNAME",
    contentType: "application/json; charset=utf-8",
    success: function(response) {
        console.log(response);
        //do your stuff
    },
    failure: function(response) {
        console.log(response.responseText);
    },
    error: function(response) {
        console.log(response.responseText);
    }
});