我这里有一个奇怪的。我正在对我的操作方法进行 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 上不会出现警报,但操作方法会运行。我正在运行.net5。有什么建议吗?
谢谢