【发布时间】:2020-06-25 01:00:20
【问题描述】:
我正在尝试将 AJAX 与 Razor 页面结合使用。
我一直在网上搜索,但我发现的每个示例都有不同的作用,而且大多数示例都不完整或不适用于 Razor Pages。
到目前为止,我一直专注于以下内容的变体:
$.post('/?handler=Delete', 5, function (x) {
alert(x);
});
然后我的页面模型如下所示:
public void OnPostDelete(int id)
{
}
我已经尝试过这方面的变体,但到目前为止,我的 C# 代码没有被调用。
问题:
- 谁能告诉我我缺少什么?
- 谁能为此提供一些好的参考资料? (我还需要执行其他 AJAX 任务。)
- 我发现的一些示例具有与防伪令牌相关的特殊处理。我是否也需要为此编写代码?
更新:
所以我一直在处理这个问题,这就是我现在所拥有的:
$.ajax({
url: '?handler=Delete',
data: {
id: $(this).data('id')
}
})
.fail(function (e) {
// Error
alert(e.responseText); // Way too much info
})
.done(function () {
// Success
})
.always(function () {
// Always
});
还有我的处理程序:
public void OnGetDelete(int id)
{
}
这实际上是在调用我的处理程序,我终于让它传递了id 参数。
由于我有赏金,这就是我希望在答案中看到的内容:
- 如果我将 AJAX 调用设置为使用 POST 并将我的处理程序重命名为
OnPostDelete(),则不会调用处理程序。我将如何发帖? - 对上面的代码还有其他建议或批评吗?我知道有很多方法可以做到这一点。我只是在寻找最简单的方法并尝试改进它。
【问题讨论】:
-
为什么不写这样的ajax $.ajax({ url: "Controller /Action", type: "POST", dataType: "json", data: JSON.stringify(data) , success: function (response) { // 你的响应逻辑 } });
-
@MdFaridUddinKiron:嗯,这是 Razor Pages,所以没有控制器。除此之外,
$.post()只是调用$.ajax(),所以我不知道这将如何解决我的问题。 -
我明白了,我想知道后端,是Web from还是mvc?
标签: c# asp.net ajax asp.net-core razor-pages