【问题标题】:ASP NET Core 3.1 Razor Pages Ajax call returns html instead of resultASP NET Core 3.1 Razor Pages Ajax 调用返回 html 而不是结果
【发布时间】:2021-02-03 16:28:56
【问题描述】:

我在剃须刀页面的页面模型中调用获取请求。

public IActionResult OnGetListOfAddress()
    {
       
    }

而ajax调用是:

 $.ajax({
      type: 'GET',
    url: '?handler=ListOfAddress',
    dataType:'text',
    success: function (data) {
        alert("Request Successful " + data);
     },
       failure: function (response) {
                    alert(response.responseText);
                },
    error: function (e) {
        alert("Request Failed:"+JSON.stringify(e));
    }

当被调用时,结果返回成功与 ajax 调用所在的 html 页面(在这种情况下它是剃刀页面本身)。 我尝试在get请求上调试并设置断点,发现当调用ajax时,它甚至没有命中断点。

【问题讨论】:

  • 您是否阅读过返回的 html 以了解它实际上是什么?它可能是一些错误页面......看起来有一些过滤器拦截了请求处理,所以你的动作方法中的断点没有被命中。很难说,但您可以先尝试了解它在返回的 html 中显示的内容。
  • 可以分享OnGetListOfAddress()的退货声明吗?
  • 返回内容("测试结果");
  • @king kong,它正在返回所有页面共享的标题html
  • 我有点弄清楚发生了什么:我的 url 没有调用它应该调用的处理程序。相反,它调用了根索引文件。我仍然不知道如何使用处理程序调用当前页面路由。

标签: asp.net asp.net-core razor-pages


【解决方案1】:

正如我在对@king kong 的回复中所说:我有点弄清楚发生了什么:我的 url 没有调用它应该调用的处理程序。相反,它调用了根索引文件。我仍然不知道如何使用处理程序调用当前页面路由。 ——

我的解决方案(不实用):是获取窗口位置并将处理程序url添加到它。

let loc  = window.location.href;
 $.ajax({
  type: 'GET',
url:loc+'?handler=ListOfAddress',
dataType:'text',
success: function (data) {
    alert("Request Successful " + data);
 },
   failure: function (response) {
                alert(response.responseText);
            },
error: function (e) {
    alert("Request Failed:"+JSON.stringify(e));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-12
    • 2018-11-08
    • 1970-01-01
    • 2021-05-29
    • 2021-09-25
    • 2020-03-23
    • 2015-03-25
    • 1970-01-01
    相关资源
    最近更新 更多