重新加载JS或div而不是完整的页面

时间:2016-12-10 10:28:01

标签: javascript jquery html ajax reload

我想点击按钮在某个div中重新加载js而不重新加载整个页面。也可以重新加载加载js的div。

我已经尝试了几种解决方案,例如: http://www.philnicholas.com/2009/05/11/reloading-your-javascript-without-reloading-your-page/

或其他帖子的一些想法,如下所示 Refresh/reload the content in Div using jquery/ajax

使用此代码例如:

$("#content").load(location.href + " #content");

只重新加载div而不是脚本,并且不会显示任何内容。

使用ajax请求,它将所有js-code作为文本放入div中。

你还有什么进一步的想法吗?

编辑:加载的脚本显示内容,具体取决于会话的某些值。单击该按钮会更改应该导致运行脚本的div中的其他内容的值。

编辑2: 当前状态正在重新加载整个页面: 这是由脚本添加其他内容(其他div和东西)的div:

            <div id="dynamic_content">
                 <script src="myjs.js"></script>
            </div>

以下是更改内容视图的按钮:

            <div id="change_view_mode" onclick="change_view()">                 
                <script> 

                    if(window.SESSION.view_mode == "simple"){
                        document.getElementById("change_view_mode").innerHTML = "complex tree";

                    }else{
                        document.getElementById("change_view_mode").innerHTML = "simple tree";
                    }

                </script>
            </div>

这里是用于更改我尝试实现内容重新加载的视图的函数:

                //toggle view and reload the page
                function change_view(){
                        if(window.SESSION.view_mode == "simple"){

                            $.ajax({
                                    url:'set_view_mode.php',
                                    async: false,
                                });
                            //$("#dynamic_content").load(location.href + " #dynamic_content");
                            location.reload(true);
                        }else{

                            $.ajax({
                                    url:'set_view_mode.php',
                                    async: false,
                                });
                            //$("#dynamic_content").load(location.href + " #dynamic_content");
                            location.reload(true);
                        }
                    }

我通过调用一个小的php文件来更改会话中的view_mode。然后我尝试了几个提到的东西(一个在代码中留下作为注释)。这取决于当前视图。所以它只是将视图从一个切换到另一个。

1 个答案:

答案 0 :(得分:0)

我已经为你的答案创建了一个git存储库,请你试试这个: https://github.com/RobinHossain/ajax-page-load

现场演示链接: http://ajax-page-load.w3bd.com/