【问题标题】:Have to change subdomain to get page to update必须更改子域才能更新页面
【发布时间】:2011-06-02 00:31:44
【问题描述】:

我在一个站点上使用 XML,每次运行脚本来更新 XML 文件时,我都必须更改子域(我已经从“”变为“www”再到“fdasekjlfw”等等)让刷新做任何事情。大约一个小时后,无论子域如何,都会看到更新。

我想知道我是否做错了什么。每次都必须这样做似乎不对。

我的网络主机是 FatCow,脚本是 PHP 的,如果有帮助的话。

谢谢

附加信息:

我和一个使用相同服务器(虽然是不同的站点)的人交谈过。他说他在更新 MySQL 数据库时会定期遇到完全相同的问题,通常是在更改外部 CSS 文件时(但并非总是如此)。他和我的脚本都是 PHP(虽然没有使用 CSS 文件编写脚本)。

就我而言,提交表单会向脚本发送大约 4 个文件(图像)和 10 个变量。我正在使用 DOMDocument 类来删除、添加和更新。这是使用的脚本之一(它们都是独立的,但出现了同样的问题)。

<?php

## Deletes shirt row ##

$delMark = $_GET['href'];
$doc = new DOMDocument; 
$doc->load('../xml/shirts.xml');
$docRoot = $doc->documentElement;

$shirts = $docRoot->getElementsByTagName('shirt');

$nodeToRemove = null;

// find the delete marker
foreach ($shirts as $domElement)
{   
  $attrValue = $domElement->getAttribute('href');

  if ($attrValue == $delMark) 
  {
    $nodeToRemove = $domElement;
    break;
  }

}

if ($nodeToRemove != null)
    $docRoot->removeChild($nodeToRemove);

// save to XML file
$fp = fopen("../xml/shirts.xml", wb);
fwrite($fp, $doc->saveXML());
fclose($fp);

?>

谢谢

【问题讨论】:

  • 您绝对不必更改子域来影响脚本。缓存一定是有原因的——你可能需要提供更多信息。

标签: php html xml subdomain


【解决方案1】:

我知道XML 文件通常缓存在浏览器中。所以脚本可能正在完成它的工作,但 XML 并没有因此而被重新加载。也许您可以更改脚本以将querystring 附加到XML 文件,这应该会强制刷新(未经测试,所以我不确定这是否有效)。例如(虽然使用css):Force refresh of cached CSS data

【讨论】:

  • 嘿杰森。你是对的。我不得不强制刷新 XML。我有一个 Math.random() 变量,它在加载 XML 文件时添加到它的 URL 中。成功了!
猜你喜欢
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 2022-12-17
  • 1970-01-01
  • 2020-03-18
  • 1970-01-01
  • 2017-05-24
相关资源
最近更新 更多