Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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
Php 使用jQuery重新加载IFRAME时未显示更改或加载CSS失败_Php_Javascript_Jquery_Ajax - Fatal编程技术网

Php 使用jQuery重新加载IFRAME时未显示更改或加载CSS失败

Php 使用jQuery重新加载IFRAME时未显示更改或加载CSS失败,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我在“1”页上有一个iframe,它在我的站点中显示一个单独的“2”页 第1页包含一个表单,在提交时运行AJAX函数。这将调用一个PHP文件,该文件根据表单中输入的内容编辑第2页的特定部分 在AJAX函数的成功回调中,我在第1页重新加载iframe,如下所示: $.ajax({ type: "POST", url: 'file.php', data: "user="+ user +"&

我在“1”页上有一个iframe,它在我的站点中显示一个单独的“2”页

第1页包含一个表单,在提交时运行AJAX函数。这将调用一个PHP文件,该文件根据表单中输入的内容编辑第2页的特定部分

在AJAX函数的成功回调中,我在第1页重新加载iframe,如下所示:

        $.ajax({
               type: "POST",
               url: 'file.php',
               data: "user="+ user +"&title="+ title,
               success: function()
               {
                    var frameHtml = '<iframe id="previewFrame" src="temp/' + user + '/" width="100%" height="373" scrolling="yes"><p>Your browser does not support iframes.</p></iframe>';
                    var liveDemoFrame = $('.liveDemoFrame');
                    var previewFrame = $('#previewFrame');

                    previewFrame.remove();
                    liveDemoFrame.append(frameHtml).hide();
                    $('#previewFrame').hide();
                    liveDemoFrame.show().append('<div class="customiseThemeSpinnerWrap"><div class="customiseThemeSpinnerIcon"></div></div>');

                    setTimeout(function() { 
                        $('#loading').remove();
                        $('.customiseThemeSpinnerWrap').remove();
                        $('#previewFrame').fadeIn();
                    }, 1000);
               }
        });
在Firefox中,一旦iframe被重新加载,CSS就会丢失,页面就完全是HTML了。 在IE中,尚未进行更改。 在Chrome中,它在我的家用电脑和测试电脑上都能正常工作,但在大学电脑上却不能工作! 如果我在没有iframe的情况下访问第2页,那么已经进行了更改,并且工作正常

我尝试添加:

<meta http-Equiv="Cache-Control" Content="no-cache">
<meta http-Equiv="Pragma" Content="no-cache">
<meta http-Equiv="Expires" Content="0"> 

但这似乎没有什么区别。

缓存?尝试使用header函数设置无缓存http头。您还可以使用jquery将一个随机数附加到url的后面,这样代理就不会缓存它们


我是用手机回答的,所以举个例子并不容易。抱歉。

问题是由$previewFrame.hide引起的;处于成功功能的内部。并不是说这对任何人都有帮助,但我想我会发布我是如何解决这个问题的:

我已经尝试添加一些元信息来禁用缓存,如更新后的op中所示,但没有帮助。你的意思是在iframe URL中添加一个随机数吗?是的。使用math.random函数。同样对于meta infinitely,也可以尝试使用header php函数来设置它们。我相信该函数的文档中有关于如何设置它们的示例。在这个ajax调用中有很多不寻常的活动…删除一个项目,然后隐藏它,显示刚刚创建的项目,成功与否不取决于任何数据您完全正确。删除所有垃圾已经在Firefox和IE中修复了它。现在我只需要以不同的方式重新编写fadeIn动画。我猜你甚至不需要进行ajax调用