gpt4 book ai didi

asp.net-mvc - $.ajax 发布到 MVC Controller 返回内部服务器错误 : Parameters dictionary contains null entry

转载 作者:行者123 更新时间:2023-12-03 22:59:23 26 4
gpt4 key购买 nike

参数字典包含“HLIT_TicketingMVC.Controllers.TicketController”中方法“System.Web.Mvc.ContentResult CheckForInstaller(Int32)”的不可空类型“System.Int32”的参数“appId”的空条目。可选参数必须是引用类型、可为 null 的类型,或者声明为可选参数。

function SubmitAjax(url, message, successFunc, errorFunc) {
$.ajax({
type:'POST',
url:url,
data:message,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success:successFunc,
error:errorFunc
});
};

数据对象的构建如下:

var message={"appId":application.val()};

我还尝试了 jsonified 字符串:

var message="{'appId':"+application.val()+"}";

var message="{'appId':'"+application.val()+"'}";

在尝试发布消息之前,我验证了该消息是否具有正确的 int 值。鼠标悬停在调试器上最近显示:{appId="6"}

Controller 上的方法签名是:

public ContentResult CheckForInstaller(int appId)

当我从方法签名中删除参数时,它确实遇到了内部断点,因此我认为要么是签名需要某种属性,要么是消息没有正确构建。

最佳答案

删除这个:

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

MVC 不会将 JSON 解析为 int。您需要默认值 application/x-www-form-urlencoded

关于asp.net-mvc - $.ajax 发布到 MVC Controller 返回内部服务器错误 : Parameters dictionary contains null entry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2281808/

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