Unity3D-执行UnityWebRequest时,帖子为空

时间:2019-10-21 12:31:24

标签: php unity3d

我正在做一个UnityWebrequest,它工作正常,但是在检查PHP中的帖子是什么之后,我发现该帖子是一个空数组,文件也是如此。我发现有类似问题的StackOverflow帖子。但是它的解决方案对我不起作用。那么,为什么帖子和文件为空?我正在本地服务器上运行它。

UnityWebRequest POST to PHP not work

网络请求

static IEnumerator Post(string url, string bodyJsonString)
{
    UnityWebRequest request = new UnityWebRequest(url, "POST");
    request.chunkedTransfer = false;
    Debug.Log(bodyJsonString);
    byte[] bodyRaw = Encoding.UTF8.GetBytes(bodyJsonString);
    request.uploadHandler = new UploadHandlerRaw(bodyRaw);
    Debug.Log(request.uploadHandler.data.Length);
    request.downloadHandler = new DownloadHandlerBuffer();
    request.SetRequestHeader("Content-Type", "application/json");
    yield return request.SendWebRequest();
    Debug.Log("Status Code: " + request.responseCode);
    Debug.Log(request.downloadHandler.text);
}

Php

<?php
echo "POST: ";
print_r($_POST);
var_dump($_POST);

echo "Files: ";
print_r($_FILES);
var_dump($_FILES);

调试

  

{“ testJson”:1}

     

8

     

状态码:200

     

POST:Array()array(0){}文件:Array()array(0){}

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,这对我有用。

之后

UnityWebRequest request = new UnityWebRequest(url, "POST");

添加

request.chunkedTransfer = false;

让我困扰了很久的事情是我需要在URL中包含文件名。我使用的是index.php,所以我只使用URL的目录路径。当我使用包含文件名的路径后,它开始正常工作。

答案 1 :(得分:0)

当我通过WWWForm添加内容时,该问题已解决。然后填充了$ _Post数组。

https://docs.unity3d.com/ScriptReference/WWWForm.html