location.reload(true)没有获取变量/只调用一次

问题描述:

我有一个用户配置文件页面,他们可以在其中更改他们的个人资料图片。切换到追逐,PHP上传新的图像,并重新导向到配置文件页面,但页面仍然与旧的配置文件图片,直到页面刷新。location.reload(true)没有获取变量/只调用一次

我试过meta标签和PHP标题,所以我需要location.reload(true)发生一次,但我怎样才能调用它只有一次,只有在一个配置文件图片更改后。 (使用get变量将无法正常工作,因为我无法在重新加载后找到删除它的方法,所以无限重新加载)。

...或者我正在讨论这个不好的方法吗?

UPDATE:FIX

通过使用history.pushstate()调用location.reload(true)之前除去URL变量(刷新= 1)解决了这个问题。

您可以使用Ajax在新图片上传后加载新图片的网址。 因此,您始终在后台获取配置文件映像的url,并在新配置文件上传后,可以从后台重新加载。

+0

我可以除了我使用PHP来改变一个按钮的状态,这不会被AJAX更新,例如在输入类型=按钮的值属性 –

+0

当然,除非你建议我在AJAX之后用JavaScript来改变它......但是,复杂? –

+0

你必须给该按钮一个id并在你的javascript中添加一个函数,如果点击该按钮,这个函数将被调用。所以你可以处理上传,然后更新/更换按钮标签。 –