当我向 URL 字符串添加一些参数时,Unity3D WebRequest URL 不起作用

问题描述 投票:0回答:1

我正在为我的大学做基本的游戏项目。 我有一个后端项目,该项目的 get 或 post 方法可以在邮递员或任何浏览器上正常工作。 在 Unity 方面, 我创建了 2 个输入字段(用户名、密码) 并创建了 1 个按钮(登录)

我创建一个 C# 脚本并定义 URL 字符串,并使用 IEnumerator 发出 Web 请求,然后在 start 方法中使用 StartCoroutine。这样就可以正常工作了

private string URL = "https://localhost:44310/api/users/getbyaccount?username=blablabla&&password=blablabla";

// Start is called before the first frame update
void Start()
{
    StartCoroutine(GetResult());
}


IEnumerator GetResult()
{
    using (UnityWebRequest request = UnityWebRequest.Get(URL))
    {
        yield return request.SendWebRequest();

        if (request.result == UnityWebRequest.Result.ConnectionError)
        {
            Debug.Log(request.error);
        }
        else
        {

            string message;
            message = request.downloadHandler.text;

            messageBoxContainer.gameObject.SetActive(true); 
            messageBoxText.text = message;
        }
    }
}

但我想使用来自输入字段的用户名和密码创建字符串 URL。因此,我创建了一个按钮,并在单击将参数(用户名和密码)添加到 URL 字符串时编写了一个方法。但没用。

public Image messageBoxContainer;

public TMP_Text _userName;
public TMP_Text _password;

public TextMeshProUGUI messageBoxText;


private string URL;

// Start is called before the first frame update
void Start()
{
   // StartCoroutine(GetResult());
}


IEnumerator GetResult()
{
    using (UnityWebRequest request = UnityWebRequest.Get(URL))
    {
        yield return request.SendWebRequest();

        if (request.result == UnityWebRequest.Result.ConnectionError)
        {
            Debug.Log(request.error);
        }
        else
        {

            string message;
            message = request.downloadHandler.text;

            messageBoxContainer.gameObject.SetActive(true); 
            messageBoxText.text += message;
        }
    }
}


public void CreateUrl()
{
   
    URL ="https://localhost:44310/api/users/getbyaccount?username=" + _userName.text + "&&password=" + _password.text;

    messageBoxText.text = URL;

    StartCoroutine(GetResult());
}

如何将参数添加到 URL 字符串?

c# unity-game-engine webrequest unitywebrequest
1个回答
0
投票

我找到了解决方案!

我应该使用 TMP_InputField 而不是 TMP_Text。

它有效。

© www.soinside.com 2019 - 2024. All rights reserved.