ajax-请求错误,状态代码为200

ajax-请求错误,状态代码为200,ajax,asp.net-mvc-5,Ajax,Asp.net Mvc 5,从客户端,我想向服务器发送一些数据,并接收一些标记,这些标记从视图(另一个控制器)响应 我的ajax代码如下所示: var sortTopic = function () { var $list = [], $address = '', $formData = new FormData(); /* do something here to set value to $list and $address */ $formData.appe

从客户端,我想向服务器发送一些数据,并接收一些
标记,这些标记从
视图(另一个控制器)响应

我的ajax代码如下所示:

var sortTopic = function () {
    var $list = [],
        $address = '',
        $formData = new FormData();

    /* do something here to set value to $list and $address */

    $formData.append('Category', $list);
    $formData.append('Address', $address);
    $formData.append('Tags', '[KM]');
    $formData.append('Skip', 0);

    $.ajax({
        url: '/Topic/Sort',
        type: 'POST',
        data: $formData,
        dataType: 'json',
        contentType: false,
        processData: false,
        success: function (data) {
            if (!data.success) {
                $('.jumbotron').html(data.ex);
            } else {
                $('.jumbotron').html(data);
            }
        },
        error: function (xhr) {
            alert(xhr.status); //xhr.status: 200
        }
    });
};
TopicController
中,操作
Sort
为:

[AllowAnonymous]
[HttpPost]
public ActionResult Sort(SortTopicViewModel model)
{
    try
    {
        if (model.IsValidSortTopicModel())
        {
            return PartialView("../Home/_Timeline", new TopicMaster().Sort(model));
        }
        return Json(new { success = false, ex = "Invalid model." });
    }
    catch (Exception e) { return Json(new { success = false, ex = e.Message }); }
}
我确信
model
是有效的,并且方法
newtopicmaster().Sort(model)
工作正常(因为我放置了断点以查看返回数据)。部分视图
\u Timeline
HomeController
的部分视图

我的问题是:我不明白为什么在ajax中出现状态代码为200的
error

错误:函数(xhr){
警报(xhr.status);//xhr.status:200
}

你能给我解释一下吗


谢谢大家!

正如您所说,您收到的不是json的
响应,并且您在ajax中提到了
数据类型:“json”
,只需将其删除即可。这会解决你的问题。当您没有得到ajax中提到的有效响应时,会出现错误200


有关更多信息,请阅读

谢谢!这就解决了我的问题。我能问你一个小问题吗?在服务器端,如果
模型
无效,我想向客户端发送一条错误消息。在我的示例中,它位于以下行:
returnjson(new{success=false,ex=“Invalid model.”)。那么,如果我删除
数据类型:“json”
,它能工作吗?是的,这会工作,但是在删除
数据类型:“json”
之后,您需要用json解析您的响应。正如您所说,您收到的是
,那么您将如何识别您收到的是
html
json