在我的 ajax 结果 return 上出现解析错误

Getting parseerror on my ajax result return

我不确定为什么会收到解析错误。我在 ajax 上动态设置数据类型,当我使用 json 作为数据类型调用它时,出现解析错误。

MVC 控制器操作

    public ProductViewModel UpdateProduct(ProductViewModel product)
    {
        var productContract = Mapper.Map<ProductViewModel, ProductContract>(product);
        var productReturned = _productService.UpdateProduct(productContract);

        if (productReturned.HasValue)
        {
            return Mapper.Map<ProductContract, ProductViewModel>(productReturned.Value);
        }
        return null;
    }

Ajax 来电

var ajaxCall = function (destinationUrl, dataToPost, ajaxDataType, element, callbackFunction) {
    $.ajax({
        url: destinationUrl,
        data: dataToPost,
        contentType: "application/json",
        dataType: ajaxDataType,
        success: function (data) {
            callbackFunction(data, element);
        },
        error: function (req, status, errorObj) {
            console.log(status);
        }
    });
}

回调函数

这是在 ajax 成功时运行的方法,我的数据库已成功更新,但我需要返回的数据来更新 UI。我试着把它弄成 datadata.ddata.d[0]

function updateProductRow(data, element) {
    console.log(data.d[0]);
}

我想通了,在 ASP.NET 带有控制器操作的 MVC 应用程序的情况下,我只需要在我的方法上方有一个属性来接受动词,这将是一个 post。并且还将 return 类型转换为 JSON 结果。

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult UpdateProduct(ProductViewModel product)
    {
        var productContract = Mapper.Map<ProductViewModel, ProductContract>(product);
        var productReturned = _productService.UpdateProduct(productContract);

        if (productReturned.HasValue)
        {
            return Json(Mapper.Map<ProductContract, ProductViewModel>(productReturned.Value));
        }
        return null;
    }