我正在使用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;
}
}
答案 0 :(得分:1)
Unity WWW默认情况下会缓存结果,作为一种快速的解决方法,您可以在URL的末尾附加一个随机查询,以确保它始终返回新的结果,例如?random=<generate random number here>
-参见:https://answers.unity.com/questions/209078/disable-cache-for-www.html
执行此操作的正确方法是放弃使用现在过时的WWW类,并通过UnityWebRequest和禁用缓存执行正确的新请求。