我在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可以正常工作
答案 0 :(得分:0)
我不确定您的问题到底是什么,但我认为这与在执行内联脚本之前未获取的JavaScript插件和文件有关,因此它们的功能&...不会被识别。您的内联脚本。
要解决此类问题,您可以使用DOMContentLoaded
事件:
<script>
window.addEventListener("DOMContentLoaded", function () {
// All .js files and plugin are now completely loaded & you could use them...
};
</script>
注意:顺便说一句,您可以在发送Ajax请求时从该部分中排除脚本。因为当您没有布局时,您将没有任何部分。
请告诉我它是否对您有帮助。