gpt4 book ai didi

asp.net-mvc-3 - MVC3 JQuery AJAX ||多个传递的参数为空

转载 作者:行者123 更新时间:2023-12-01 07:29:30 25 4
gpt4 key购买 nike

我在使用 AJAX 将多个参数发布到 Controller 时遇到一些问题。两个参数最终都为空并且无法找出原因。我正在尝试从名为“cat_fam_codes”和“cat_codes”的两个下拉列表中发送选定的值

更新:我添加了下面列出的内容类型和数据类型。同样的问题:传递给 Controller ​​的两个参数都为空。

在 View 中:

    $('#cat_fam_codes').click(function () {
var categoryData = {
categoryFamilyCodes: $('#cat_fam_codes').val(),
categoryCodes: $('#cat_codes').val()
};

$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
url: '/EventReport/GetCCRCodes/',
data: JSON.stringify(categoryData),
success: function (jsonresults) {
if (jsonresults != null) {
$('#ccr_codes').find('option').remove().end();
for (var i = 0; i < jsonresults.length; i++) {
$('#ccr_codes').append('<option value="' + jsonresults[i].CCRCodeId + '">' + jsonresults[i].Description + '</option>');
}
}
},
error: function (xhr, status, error) {
alert('Failed to retrieve CCR Codes for this list. A "' + error + '" response was returned.');
}
});

});

在 Controller 中:

[HttpPost]
public ActionResult GetCCRCodes(string categoryFamilyCodes, string categoryCodes)
{ ... }

传递到 Controller 的两个参数均为空。任何帮助将不胜感激。

谢谢!

最佳答案

使用 Fiddler 或类似工具检查通过 $.ajax() 调用返回到 Controller 的内容。 $.ajax 可能没有以 JsonValueProviderFactory 可以反序列化的形式发送数据。当我通过 $.ajax 发布 JSON 时,我总是显式指定以下选项:

 contentType: "application/json; charset=utf-8",
dataType: "json",

关于asp.net-mvc-3 - MVC3 JQuery AJAX ||多个传递的参数为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7271118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com