为什么虽然控制器发送数据,但ajax调用未返回成功或错误?

时间:2019-02-02 11:24:31

标签: c# json ajax model-view-controller

我有一个'GET'类型的Ajax调用,正在正确地执行mvc控制器操作。控制器操作类型为“ JsonResult”,它返回的json数据应表明ajax调用成功。但是ajax调用不会响应成功或错误。

 $.ajax({
    url: baseUrl + '/Controller_Name/Action_Name',
    type: 'GET',
    data: param,
    success: function (data) {
        var response = JSON.parse(data);
        if (response.length > 0 && response != '-1') {

            toastr.options.timeOut = 2500;
            toastr.success('Data retrieved successfully', 'Success');

        }
    },
    error: function (xhr) {

        toastr.options.timeOut = 2500;
        toastr.warning('Error while retrieving data', 'Error');
    }
});

1 个答案:

答案 0 :(得分:1)

  

控制器操作类型为“ JsonResult”,它返回的json数据应表明ajax调用成功

当我们返回JSONResult时,我们在回调中获得json对象,因此我们不需要解析它。如果操作返回如下:

public ActionResult YourAction()
{
    return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}

然后成功执行以下操作:

success: function (data) {
           alert(data.success);
           if(data.success === true) {
                // do something here
           }
}