2

我正在尝试将 javascript 对象发送到 VS 2010 中的 MVC 方法。使用 VS Web 服务器。

    $.ajax({ 
            type: "POST",
            url: "@Url.Action("Filter", "Grid")",
            dataType: "json", 
            data: {"data": JSON.stringify(filtersData) }, 
            contentType: "application/json; charset=utf-8", 
            traditional: true,
            success: function (data) { 
                alert("ok"); 
            },
            error:function (xhr, ajaxOptions, thrownError) { 
                alert(xhr.status); 
                alert(thrownError); 
            }
        }); 

添加 contentType 参数时会导致 500 错误。我究竟做错了什么?

4

2 回答 2

2

这最终奏效了:

    var filtersApplyData = GetFiltersApplyData@(Model.PropertyID)();
    var data = JSON.stringify({data: filtersApplyData, classID: @(Model.ClassID)});
    $.ajax({ 
            type: "POST",
            url: "@Url.Action("ApplyFilters", "Grid")",
            data: data, 
            contentType: "application/json", 
            traditional: true,
            success: function (data) { 
                $("#grid").html(data);
            },
            error:function (xhr, ajaxOptions, thrownError) { 
                alert(xhr.status); 
                alert(ajaxOptions); 
                alert(thrownError); 
            }
    }); 
于 2012-08-11T20:40:33.333 回答
1

从您发布的内容很难看出这一点。

500 错误意味着您调用的服务存在,但在处理您传递给它的数据时出错。

如果您可以控制服务(听起来您可能基于您的问题的标题),请检查其错误日志或直接在服务器上运行您的代码(通常您会收到更广泛的错误消息)。如果您没有任何错误日志记录(例如没有 NLog 等),请检查 Windows 事件日志。

如果您无法控制该服务,请通知提供该服务的人员它正在产生错误。

于 2012-07-23T04:23:06.040 回答