首页 > 解决方案 > ajax调用控制器后加载新页面

问题描述

我遇到了一个问题,即在向指定控制器发出 ajax 请求时页面无法加载(或者更确切地说,它什么都不做)。

发送带有 ID 的 ajax 以加载填充的视图模型,然后使用所述视图模型加载视图。我不想加载部分视图,因为此调用发生在 chartjs 条形图选择中,用户单击条形图,它将调用事件以加载带有 ID 的 ajax 函数以加载“详细信息” “ 页。

调用的这个控制器在其他地方使用,但是这是第一次在 ajax 方法中调用。

是否因为 ajax 要求回发某种类型的部分视图而不是完整视图而失败?有没有办法通过 ajax 调用使用视图模型加载视图?

请注意,ID 已成功获取控制器方法,并且一切都按预期执行,加载视图是问题所在。

Javascript/ajax 内部视图

.
. Nested ajax call here
.                
                historyGraph.onclick = function(evt) {
                var activePoints = myChart.getElementsAtEvent(evt);
                var firstPoint = activePoints[0];
                var executionId = idData[firstPoint._index];

                if (firstPoint !== undefined) {
                    goToDetailsPage(executionId);
                }
            }
        }
    });
}

function goToDetailsPage(executionId) {

    $.ajax({
        url: "@Url.Action("Details", "TestSuiteExecutions")",
        data: { 'testSuiteExecutionId': executionId },
        type: 'POST',
        dataType: "json"
    });
}

控制器方法

        public ActionResult Details(int testSuiteExecutionId)
    {
        var resultsModel =
            this.testSuiteExecutionModelService.GetTestSuiteExecutionResultsModelForTestSuiteExecutionId(
                testSuiteExecutionId);

        return View("Details", resultsModel);
    }

标签: javascriptjqueryajaxasp.net-mvc

解决方案


推荐阅读