gpt4 book ai didi

c# - AJAX 请求包含在类文件中的方法

转载 作者:行者123 更新时间:2023-11-30 22:57:30 27 4
gpt4 key购买 nike

我正在尝试在 Razor 页面上发出 AJAX 请求,调用包含在单独类文件中的方法(不在页面的页面模型中 - 因为我最终想从多个不同的页面发出相同的请求)。

不幸的是,请求失败了。我认为这可能与我使用的语法有关,或者可能与我尝试调用的类类型错​​误有关。请注意,如果我将 url 更改为页面模型中的方法(无需其他更改),请求确实有效。

我对 ASP.NET Core Razor Pages 和 AJAX 请求还很陌生,所以如果这里有基本的误解,请告诉我。

AJAX 请求代码 (jQuery):

$(document).ready(function () {
$.ajax({
dataType: 'json',
url: '/Tools/Redirect?handler=AccessRedirect',
type: 'GET',
success: function (data) {
alert("Request Success, Data = " + data);
},
error: function () {
alert("Request Failed");
}
});
})

(我也试过 url:/Tools/Redirect/AccessRedirect 使用一个名为 AccessRedirect 的方法,使用 [HttpGet]属性,但这也不起作用)

C# 类代码(文件为 Tools 文件夹中的 Redirect.cs):

    public class Redirect
{
public JsonResult OnGetAccessRedirect()
{
return new JsonResult("test");
}
}

非常感谢任何帮助。谢谢。

最佳答案

您的根本误解是 Razor Pages 请求必须以 PageModel 类中的处理程序方法为目标。您不能将 URL 映射到类文件中的任意方法。处理程序方法必须位于派生自 PageModel 的类中,并且它们必须遵循特定约定。

您可以在此处阅读有关 Razor 页面中处理程序方法的更多信息:https://www.learnrazorpages.com/razor-pages/handler-methods

如果您有想要集中的代码,可以将其放入 C# 类中,然后在您的处理程序方法中调用该方法

关于c# - AJAX 请求包含在类文件中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53609295/

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