Ajax中的RedirectToAction调用阻止其他调用

时间:2015-06-01 06:36:11

标签: javascript jquery ajax asp.net-mvc treeview

我发送一个ajax调用来获取一个kendo树视图局部视图,但是这个局部视图位于另一个名为" CommonController"它需要使用TempData发送的kendo树视图部分的configdata。 CommonController中的Action方法返回kendo树的局部视图。

以下是我的代码:

Ajax呼叫控制器

$.ajax({
        url: deploymentDirSim + "/FormJS/FoldersAndFilesTreePartialView",
        type: "get",
        contentType: "'application/json; charset=utf-8'",
        success: function(sdata) {
            $("#ffTreeViewDiv").html(sdata);
        },
        error: function(e) {
            console.log(e);
        }
    });

控制器方法

public ActionResult FoldersAndFilesTreePartialView()
{
        FoldersAndFilesTreeConfigData configdata = new FoldersAndFilesTreeConfigData
        {
            Name = "treeViewFolderFile",
            HtmlAttributes = "height:100%; overflow:hidden;",
            CheckBoxes = false,
            ShowCheckBoxOnFolder = false,
            OnDataBound = "onFolderExplorerItemDataBound",
            OnSelect = "onFolderExplorerTreeViewItemSelect",
            OnRequestEnd = "",
            OnCheckBoxCheck = "",
            OnExpand = "onFolderExplorerItemExpand",
            OnCollapse = "onFolderExplorerItemCollapse",
            ActionName = "PopulateFoldersAndFilesTree",
            ControllerName = "FormJS",
            AreaName = "MyArea"

        };

        TempData[configdata.Name] = configdata;

        return RedirectToAction("FoldersAndFileTreeView", "Common", new { area = "", tempDataKey = configdata.Name });
}

CommonController代码

    public ActionResult FoldersAndFileTreeView(string tempDataKey)
    {
        ViewBag.configData = TempData[tempDataKey];
        return PartialView();
    }

它工作正常但在某些情况下由于任何原因(例如网络延迟)" FoldersAndFileTreeView"部分视图返回有一些延迟。问题是,除非部分请求正在进行,否则所有剩余的调用(例如脚本,样式表和图像文件下载)都会被卡住,并且它们的状态将被暂停。

以下是网络跟踪的快照:

enter image description here

由于上述问题,用户界面暂时停滞不前。

请告诉我,我做错了什么?我希望这些调用以异步方式运行而不是阻止其他调用吗?

提前致谢

0 个答案:

没有答案