gpt4 book ai didi

javascript - AJAX 未调用所需的 C# Controller 方法

转载 作者:行者123 更新时间:2023-12-03 06:17:55 24 4
gpt4 key购买 nike

所以我已经在这个问题上停留了一段时间,并且对使用 AJAX 相当陌生,我遇到的问题是当我在它应该调用的 C# 方法上设置断点时,下面的 AJAX 是从未达到并且不显示错误。

当我逐步了解 FireBug 发生的情况时,函数 getCheckBoxes 正在被调用和执行。

第二部分是我尝试使用 AJAX 执行的 C# 方法,我删除了里面的代码,因为它甚至没有到达它,所以它不可能是问题。它包含在 TestScriptResultsController 中。我尝试过 POST 和 GET 类型。任何帮助将不胜感激。

getCheckBoxes = function getCheckBoxes () {
//var firstDate = '@Model.FirstDate';
//var lastDate = '@Model.LastDate';
var fDateChanged = $("#FirstDate").datepicker('getDate');
var lDateChanged = $("#LastDate").datepicker('getDate');
var platformConfig = '@Model.PlatformConfigSelected';
var triggered = '@Model.TriggeredSelected';

$.ajax({
url: '@Url.Action("BranchCheckBoxes", "TestScriptResults")',
type: 'POST',
data: { fDateChanged: firstDate, lDateChanged: lastDate, platformConfig: platformConfig, triggered: triggered },
success: function (data) { $('#checkBoxes').html(data); }
});
}

Controller 操作:

    public ActionResult BranchCheckBoxes(DateTime firstDate, DateTime lastDate, string platformConfig, string triggered)
{

return PartialView(trs);
}

最佳答案

  1. 您的 JavaScript 对象初始值设定项语法对于 data 是向后的。尝试使用:data: {firstDate:fDateChanged,lastDate:lDateChanged,platformConfig:platformConfig,triggered:triggered}正确的语法是{'key':'value'}

  2. 除非您位于 Razor 页面内,否则
  3. '@Url.Action("BranchCheckBoxes", "TestScriptResults")' 将不起作用。确保您的 JavaScript 位于 .cshtml 或 .vbhtml 页面内,或者(最好)使用 url: '/TestScriptResults/BranchCheckBoxes/'

  4. BranchCheckBoxes() 需要有一个 [HttpPost] 属性,因为 MVC 默认为 Controller 操作的 GET:

    [HttpPost]
    public ActionResult BranchCheckBoxes (...)

关于javascript - AJAX 未调用所需的 C# Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39005697/

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