Запросы Unity WebGL POST не работают после сборки игры

Моя игра Unity webGL, похоже, не отправляет почтовый запрос на сервер после сборки игры, но она отлично работает в редакторе. Есть ли что-нибудь еще, кроме этого?

IEnumerator PostRequestY(string url, string jsonToAPI)

{
    Debug.Log("--------------Game Data Sending --------------");
    var uwr = new UnityWebRequest(url, "POST");
    jsonToAPI = jsonToAPI.Replace("'", "\"");
    //Debug.Log(jsonToAPI);
    byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(jsonToAPI);
    uwr.uploadHandler = (UploadHandler)new UploadHandlerRaw(jsonToSend);
    uwr.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
    uwr.SetRequestHeader("Content-Type", CONTENT_TYPE);
    uwr.SetRequestHeader("x-api-key", X_API_KEY);

    //Send the request then wait here until it returns
    yield return uwr.SendWebRequest();

    if (uwr.isNetworkError)
    {
        Debug.Log("Error While Sending Game Data: " + uwr.error);
        Debug.Log("URL ::: " + url);
        messageText.text = uwr.error;
    }
    else
    {
        //Debug.Log("Game Data Received: " + uwr.downloadHandler.text);
        string recievedMessage = uwr.downloadHandler.text;
        //Debug.Log("Respond for Game Data " + recievedMessage);
        messageText.text = uwr.downloadHandler.text +" & "+ accessToken;
    }
}

Это сообщение появляется, когда игра запускается в редакторе ...

Это сообщение появляется, когда игра запускается в редакторе ...

Это сообщение появляется, когда игра запускается после сборки ...  введите описание изображения здесь

Почему это происходит? Любые предложения будут высоко оценены ... Спасибо


person Sakuna Madushanka    schedule 02.12.2019    source источник


Ответы (1)


В Unity WebGL базовый веб-запрос выполняется с помощью fetch или XMLHttpRequest, что означает, что вы должны правильно настроить CORS на своем сервере. По умолчанию вам не разрешено устанавливать практически любой заголовок запроса.

См. https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader для получения дополнительной информации.

person DoctorPangloss    schedule 04.12.2019
comment
Да, я прошел через это и спасибо за ваш ответ. Я включил настройки CORS. Но вроде теперь проблема возникает только в браузере firefox. Как решить эту проблему @DoctorPangloss - person Sakuna Madushanka; 16.12.2019