Jquery Ajax 在第一次加载应用程序时触发错误回调

Jquery Ajax fires error callback on first load of application

我这里有一个奇怪的。我正在对我的操作方法进行 ajax 回调,这是一个非常简单的调用,我总是在操作方法中传回一个 JSON 对象。但是,当我在本地构建我的应用程序并 运行 时,第一次发出 ajax 请求时,将执行错误回调。在请求返回任何内容之前触发此回调,我可以在操作方法中放置一个断点,断点被击中,我将其保留为暂停状态但错误被触发。在下一个 ajax 请求中,一切正常,命中断点,在我继续然后返回成功之前没有任何反应。

第一次选择时的错误详情是

xhr = Object {readyState: 0, responseJSON: undefined, status: 0, statusText: "error"}, ajaxOptions = "error", thrownerror = ""

我的ajax调用如下

jquery.ajax({
    url: "ReportSetting/SaveSetting",
    data: {
        reportSettings: this.ReportSettings
    },
    cache: false,
    type: "POST",
    dataType: "json",
    success: function(partialViewData) {
        alert("Settings saved");
        return true;
    },
    error: function(xhr, ajaxOptions, thrownError) {
        alert("ERROR SAVING SETTINGS");
        return false;
    }
});

这是我的操作方法

    [Authorize]
    [HttpPost]
    public IActionResult SaveSetting(int companyId, IList<ReportSetting> reportSettings)
    {
        _reportSettingsService.SaveSettings(companyId, reportSettings);

        return Json(reportSettings);
    }

以及按钮的剃刀视图

<a type="submit" class="btn btn-success" type="button" data-bind="click: SaveButtonClicked" asp-controller="ReportSetting" asp-action="Index">Save</a>

这发生在 Chrome。在 IE 上不显示警告,但操作方法显示 运行。我是 运行ning .net5。有什么建议吗?

谢谢

现在已经解决了这个问题。我的处理程序是 returning true,所以我认为锚标记正在重新加载,因为请求被触发,所以请求变得混乱。我现在将其更改为 return false 并且在成功处理程序中我刷新页面