【发布时间】:2019-10-11 16:36:40
【问题描述】:
我正在尝试通过 ajax 请求将数据从我的视图传回控制器。 请求是这样的:
$("body").on("click", "#AddProduct", function () {
var id = $("#ProductDrop").val();
var lookups = @Html.Raw(Json.Encode(Model.Point.Properties["Lookups"]));
var body = $("tablePoints tbody")
var data = JSON.stringify({ "productId": id, "lookupData": lookups });
$.ajax({
contentType: 'application/jsonrequest; charset=utf-8',
dataType: 'json',
type: 'POST',
cache: false,
url: '/Edit/GetProductData',
data: data,
success: function (html) { body.append(html) },
failure: function () {
alert("failure");
}
})
});
控制器如下所示:
public ViewResult AddRow(string productId, LookupTable lookupData)
{
return View("TableRow",EditPointMethods.AddEmptyProperties(productId,lookupData));
}
当我尝试传递数据时,出现内部服务器错误。但是,当我不传递数据时,它可以工作。我格式化数据的方式有问题吗?我检查过,数据不为空,并且包含我在请求时期望的所有值。
【问题讨论】:
-
您是否尝试过将
application/json作为内容类型而不是application/jsonrequest?什么是后端平台/框架?服务器不是在注销错误吗? (应该。)LookupTable是什么?var lookups的值是多少? -
我目前在本地运行它,我在 Visual Studio 中找不到记录更详细版本错误的任何地方。查找是我在模型中用于视图的对象。我基本上需要从查找中找到一个与产品 ID 具有相同 ID 的数据元素。
标签: jquery ajax model-view-controller internal-server-error