在我的 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。我试着把它弄成 data
、data.d
和 data.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;
}
我不确定为什么会收到解析错误。我在 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。我试着把它弄成 data
、data.d
和 data.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;
}