Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax获取带有html和脚本的对话框_Javascript_Jquery_Jquery Ui_Dialog_Browser Cache - Fatal编程技术网

Javascript 使用ajax获取带有html和脚本的对话框

Javascript 使用ajax获取带有html和脚本的对话框,javascript,jquery,jquery-ui,dialog,browser-cache,Javascript,Jquery,Jquery Ui,Dialog,Browser Cache,当用户在我的应用程序中打开新对话框时。 我得到的对话框HTML和脚本谁负责处理该对话框。 当我再次打开相同的对话框时 看起来浏览器正在缓存上一个对话框中的javascript。 因此,在某些情况下,我的脚本会运行两次 我正在做的例子: var html = $.get('/somepage'); dialog.empty().append(html); dialog.dialog("open"); 我怎样才能克服这一点 下面是一个有助于解释问题的示例 <html> <head

当用户在我的应用程序中打开新对话框时。 我得到的对话框HTML和脚本谁负责处理该对话框。 当我再次打开相同的对话框时

看起来浏览器正在缓存上一个对话框中的javascript。 因此,在某些情况下,我的脚本会运行两次

我正在做的例子:

var html = $.get('/somepage');
dialog.empty().append(html);
dialog.dialog("open");
我怎样才能克服这一点

下面是一个有助于解释问题的示例

<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script id="myscript">var seachForMe = 1;</script>
<script>
    $(document).ready( function(){
        $("#clickme").click(function() {
            $("#centent").empty().append($("<span>some text </span>")).append($("#myscript").clone());
        });
    });
</script>
</head>
<body>
<div id="centent"></div>
<input type="button" id="clickme" value="click me again and again">
</body>
</html>

var seachForMe=1;
$(文档).ready(函数(){
$(“#单击我”)。单击(函数(){
$(“#centent”).empty().append($(“某些文本”).append($(“#myscript”).clone());
});
});
我正在使用克隆,因为它将是从服务器返回的新脚本
我清空了content div,但脚本仍在浏览器中。

这应该可以做到:

   var html = $.ajax({
        url: '/somepage',
        cache: false,
        type: GET
    });

如果你的问题真的是缓存。

使用firebug搜索脚本时,我在再次打开对话框时会看到我的脚本两次……你的问题可能不是缓存,如果需要更多帮助,你应该制作JSFIDLE。JSFIDLE不喜欢动态创建脚本的想法。但是我会在我的问题中粘贴一个代码片段。我可以找到任何会带来脚本的全局ajax,而缓存标志没有帮助。那么在你的问题中添加更多代码吧。我看不见的东西,我无能为力。