gpt4 book ai didi

c# - 将值传递给 Controller ​​操作

转载 作者:行者123 更新时间:2023-11-30 13:21:24 25 4
gpt4 key购买 nike

我正在尝试使用 jQuery 将两个值传递给以下 Controller 操作

[HttpPost]
public JsonResult Cancel(Guid Id, string cancelReason)
{
//do something
}

.js:

    CancelProgram = function (Id) {
//this is basically the value from a select tag placed on the form
var reason = $("#CancelReasons").val();
alert(reason);

Origin.ajax({
url: '/ZYX/Cancel?Id=' + Id,
type: 'POST',
dataType: 'json',
data: { cancelReason: reason },
success: function (data) {
alert('success!');
}
});
};
});

action 方法中的 cancelReason 值始终为 null。关于为什么这不起作用的任何指示?

最佳答案

您的代码的另一部分肯定有问题。我将首先通过对值进行硬编码并确保正确发送它们来发送正常的 AJAX 请求:

$.ajax({
url: '/ZYX/Cancel',
type: 'POST',
data: {
id: '24fe0c97-c227-4312-91fc-6e651df8b64f',
cancelReason: 'some reason'
},
success: function (data) {
alert('success!');
}
});

一旦您确保这个简单的示例可以正常工作,就可以开始使用变量使其更加动态。这样您就可以缩小范围并找到问题的根源。此外,我强烈建议您使用 JavaScript 调试工具,例如 FireBug。它允许您在控制台中查看您是否有 javascript 错误以及许多其他有用的信息,例如发送的确切请求/响应。

如果 AJAX 请求成功,您应该在 FireBug 的“网络”选项卡中看到以下内容:

Accept:             */*
Accept-Encoding: gzip, deflate
Accept-Language: en-us,en;q=0.5
Connection: keep-alive
Content-Length: 64
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0) Gecko/20100101 Firefox/10.0
X-Requested-With: XMLHttpRequest

id=24fe0c97-c227-4312-91fc-6e651df8b64f&cancelReason=some+reason

注意 idcancelReason 参数是如何使用 application/x-www-form-urlencoded 发送的。

你真的应该学会调试这类问题,调试它们的方法是使用合适的工具。

关于c# - 将值传递给 Controller ​​操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10148365/

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