如何在浏览AJAX时修复未渲染的脚本

时间:2019-01-09 08:33:51

标签: javascript c# jquery asp.net-mvc

我在javascript中创建了一个函数,可使用ajax导航到每个视图,问题是当我导航到包含数据表或任何javascript插件的页面时显示错误。 我会将代码示例放在

这是导航功能

  function LoadAjaxURL(url) {

        $.ajax({

            url: url,
            type: 'GET',
            success: function (response) {

                $('#mainDiv').html(response);
                history.replaceState('', '', url);
            }
        })
    }

我所有的脚本都包裹在

@section pagespecific {


}

在布局中,我正在以部分视图的形式呈现脚本

@{ Html.RenderPartial("_Scripts", RenderSection("pagespecific", false)); }

在我的视图中开始,我正在检查请求是否为Ajax

if (Request.IsAjaxRequest())
{
    Layout = null;
}
else
{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

我需要使用Ajax导航并完全呈现脚本而不会出现错误,以便pulgin可以正常工作

1 个答案:

答案 0 :(得分:0)

我不确定您的问题到底是什么,但我认为这与在执行内联脚本之前未获取的JavaScript插件和文件有关,因此它们的功能&...不会被识别。您的内联脚本。 要解决此类问题,您可以使用DOMContentLoaded事件:

<script>    
    window.addEventListener("DOMContentLoaded", function () {
        // All .js files and plugin are now completely loaded & you could use them...
    };
</script>

注意:顺便说一句,您可以在发送Ajax请求时从该部分中排除脚本。因为当您没有布局时,您将没有任何部分。

请告诉我它是否对您有帮助。