Php jquery/ajax关于限制和缓存管理的一般问题

Php jquery/ajax关于限制和缓存管理的一般问题,php,jquery,ajax,Php,Jquery,Ajax,我正在尝试使用jquery、ajax和php更新公司内部网。该站点的一般方面是顶部的下拉菜单加载到一个div和一个content div中,我在其中加载单击下拉菜单的页面。当我加载一个内部有选项卡菜单的页面时,问题就出现了。当单击选项卡时,我要做的是加载一个带有表单的html结构页面,并通过POST调用填充它 问题是它在被请求时正确地加载数据,而不是像在web上的许多示例中看到的那样预加载数据并在调用时显示数据?以我的方式工作,我缓存了大量数据,因此当我单击“确认某些数据”时,我会发送多个请求数

我正在尝试使用jquery、ajax和php更新公司内部网。该站点的一般方面是顶部的下拉菜单加载到一个div和一个content div中,我在其中加载单击下拉菜单的页面。当我加载一个内部有选项卡菜单的页面时,问题就出现了。当单击选项卡时,我要做的是加载一个带有表单的html结构页面,并通过POST调用填充它

问题是它在被请求时正确地加载数据,而不是像在web上的许多示例中看到的那样预加载数据并在调用时显示数据?以我的方式工作,我缓存了大量数据,因此当我单击“确认某些数据”时,我会发送多个请求数据,而不是一个。。 使用这种语言的最佳方式是什么

我找到了Nathan建议的目标解决方案我一次预加载所有表单的所有数据,代码如下:

$("#div_0").show();
        $("#scheda_eti > div").css({"background-color": "white", "color": "black","cursor":"hand"}); //tabs div
        $("#"+schemi[0]).css({"background-color": "red", "color": "white","cursor":"default"});
        for (var x=0; x<schemi.length; x++)
        {
            $("#div_"+x).load("./schemi/sch_"+schemi[x]+".php", {azione: "vedi"});
        }
        $.post("./php/global.php",
            {azione:"vedi", contratto: $("#suggest_hidden").val() },
            function(xml)
            {
                if ($("status", xml).text()=="1")
                {
                    $(xml).find("form").each(function()
                    {
                        var id_form=$(this).attr("id");
                        scorriDati(xml, "form_"+id_form);
                    });
                }
                else
                {
                    $("#scheda_ris").html("<img src='./img/validno.png' alt='errore'> <span style='color:red'><p>Attenzione!<br>codice non trovato!</p></span>");
                }
                $(xml).find("errore").each(function()
                {
                    $("#scheda_ris").append("<img src='./img/validno.png' alt='errore'> <span style='color:red'>"+$(this).text()+"<br></span>\n");
                });
            },'xml'
        );
$(“#div_0”).show();
$(“#scheda_eti>div”).css({“背景色”:“白色”、“颜色”:“黑色”、“光标”:“手”)//选项卡分区
$(“#”+schemi[0]).css({“背景色”:“红色”、“颜色”:“白色”、“光标”:“默认值”});
for(var x=0;x我想这就是您要寻找的。您需要在代码中包括,当然是jQuery之后

订单:

<link rel='stylesheet' href='http://jquery-ui.googlecode.com/svn/tags/latest/themes/ui-lightness/jquery-ui.css' />
<script src='http://code.jquery.com/jquery-latest.min.js'></script>
<script src='http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/jquery-ui.min.js'></script>

如果您不喜欢UI lightness主题,您可以从中选择任何一个。例如,如果您想要UI Darkess主题,只需将
UI lightness
替换为主题名称的小写字母,并使用连字符而不是空格。

我想这就是您想要的。您需要在代码中包含之后里

订单:

<link rel='stylesheet' href='http://jquery-ui.googlecode.com/svn/tags/latest/themes/ui-lightness/jquery-ui.css' />
<script src='http://code.jquery.com/jquery-latest.min.js'></script>
<script src='http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/jquery-ui.min.js'></script>

如果您不喜欢UI lightness主题,您可以从中选择任何一个。例如,如果您想要UI Darkess主题,只需将
UI lightness
替换为主题名称(小写),并使用连字符而不是空格。

我猜答案是“在请求时加载数据是否正确,而不是在调用时预加载并显示数据?”是“在切换到其他选项卡时,用户更喜欢哪个?”

  • 无延迟(初始页面加载期间加载的所有内容)
  • 短延迟(ajax查找新选项卡的内容)
  • 一次完整的页面加载(一次完整的往返,不需要ajax)
  • 在许多情况下,使用第一种或第三种方法可以获得很好的效果。不要过度使用Ajax

    这里是……我没有认真阅读,也不一定赞同整件事,但它可能会有所帮助。

    我想“它是正确的,在请求时加载数据,而不是在调用时预加载并显示数据?”的答案是“当切换到其他选项卡时,用户更喜欢哪个?”

  • 无延迟(初始页面加载期间加载的所有内容)
  • 短延迟(ajax查找新选项卡的内容)
  • 一次完整的页面加载(一次完整的往返,不需要ajax)
  • 在许多情况下,使用第一种或第三种方法可以获得很好的效果。不要过度使用Ajax


    这里是……我没有认真阅读,也不一定赞同整件事,但它可能会有所帮助。

    我不太理解你的问题/问题。AJAX的重点是根据请求加载。预加载AJAX似乎违背了AJAX的目的。我也这么认为,但举个例子,我在web上找到的所有创建选项卡菜单的代码都会加载数据在隐藏的div for ever选项卡中的所有选项卡中,单击时会显示内容,我所做的是在单击时动态加载它。我现在可能不清楚英语不是我的第一语言。我不太理解你的问题。AJAX的目的是根据请求加载。预加载AJAX似乎违背了AJAX的目的。我也认为,但对于e例如,我在网上找到的用于创建选项卡菜单的所有代码将所有选项卡的数据加载到隐藏的div for ever选项卡中,单击时显示内容,我所做的是在单击时动态加载。我现在可能不清楚英语不是我的第一语言。我已经使用了你的第一个建议!现在我用我的code@haltman内森:我会的个人建议1和2的混合。在阳光下预加载所有内容是不好的,因为你只是增加了一堆永远不会使用的内容的生成时间。相反,预加载常用数据,并进行侧加载(ajax查找)当需要的时候,需要的内容更少。这样你就可以很好地混合加载时间和响应能力…我已经使用了你的第一个建议!现在我用我的code@haltman还有@Nathan:我个人会建议1和2的混合。在阳光下预装任何东西都是不好的,因为你只是增加了一堆人的生成时间永远不会被使用的东西。相反,预加载常用数据,并在需要时边加载(ajax查找)不太需要的内容。这样,您可以将加载时间与响应性很好地结合起来。。。