我正在使用ajax填充div以使用jQuery创建弹出窗口。一切都很好,但性能非常糟糕。当我使用dynatrace进行分析时,我发现使用ajax填充的div正在重新加载父页面的整个js和css文件。反正有没有避免重新加载这些css和js文件。 PFB我用来填充div标签的ajax调用
$.ajax( {
type :"POST",
url :$("input[name=reqContext]").val() + 'editshipment/show/index.html',
data :val,
cache :false,
success : function(result) {
$("#editShipmentBody").html(result);
}
});
答案 0 :(得分:1)
您要发布到HTML页面 - 此页面是否包含指向js和css文件的链接?你可能不需要这些,如果你只是填充div,因为你的预加载(即在ajax调用之前)js和css将被应用。
答案 1 :(得分:-1)
你可以像这样过滤ajax请求中要加载的内容: 制作php条件并在请求URL中添加“ajax”变量
url: "somephpfile.php?ajax"
在你的php里面
<?php $ajax = isset($_GET['ajax']); ?>
<?php if(! $ajax){ ?>
<!--some things that you don't wanna "reload" on ajax requests-->
<head>
<script type="text/javascript" scr="somescript.js"></script>
<style>...</style>
</head>
<body>
<?php } ?>
<div>other stuff that you want actually load via ajax ..</div>
<?php if(! $ajax){ ?>
</body>
<?php } ?>
确切的演示可以在这里找到
http://www.klein-associes.com/grand_public/
菜单项加载ajax并链接到它们加载的相同页面。