【问题标题】:Getting data from server and the data is not updating from server, it stays old data从服务器获取数据并且数据没有从服务器更新,它保持旧数据
【发布时间】:2019-10-15 02:27:11
【问题描述】:

我正在使用UnityWebRequest 从服务器获取数据。在它第一次收到时,当我在服务器中更新我的数据时,统一数据没有更新,它向我显示旧数据。我必须清除缓存并再次从服务器获取数据。

这里是代码。

public Text mytext;

void Start() 
{
    StartCoroutine(GetText());
}

IEnumerator GetText() 
{
    UnityWebRequest www = UnityWebRequest.Get("https://www.simplearcadegamers.com/wp-content/uploads/2019/GetData.php");
    yield return www.SendWebRequest();

    if(www.isNetworkError || www.isHttpError) 
    {
        Debug.Log(www.error);
    }
    else 
    {
        // Show results as text
        Debug.Log(www.downloadHandler.text);

        // Or retrieve results as binary data
        byte[] results = www.downloadHandler.data;
    }
}

【问题讨论】:

标签: c# php unity3d server


【解决方案1】:

Unity WWW 默认缓存结果,作为一种快速解决方法,您可以在 URL 末尾附加随机查询以确保它始终返回新结果,例如?random=<generate random number here> - 见:https://answers.unity.com/questions/209078/disable-cache-for-www.html

这样做的正确方法是放弃使用现已过时的 WWW 类,并通过 UnityWebRequest 执行适当的新请求并禁用缓存。

【讨论】:

  • OP 不是使用UnityWebRequest 吗?看起来服务器端启用了缓存,请参阅stackoverflow.com/q/38365749/7111561
  • 感谢您的快速回放,让我试试。
  • @derHugo 哈哈,你说得对……我被 www 变量名欺骗了。
  • 如何将文本或 Xml 文件从服务器保存到资源文件夹?
  • 我建议你为此创建一个新问题:)
猜你喜欢
  • 1970-01-01
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 2021-10-21
  • 2017-11-20
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
相关资源
最近更新 更多