2016-11-16 1 views
0

Я ищу, чтобы опубликовать этот json на сервер и получить json в ответ. Я не знаю, что мне не хватает, но у меня есть ошибка компилятора лучший перегружен матч метод UnityEngine.WWW.WWW(string) имеет некоторые недопустимые аргументыКак отправить сообщение json на сервер Unity WWW WWW строка имеет недопустимые аргументы

using UnityEngine; 
using System.Collections; 
using UnityEngine.Networking; 
public class Post_Server_Test : MonoBehaviour 
{ 
    void Start() 
    { 
     StartCoroutine(SendJson()); 
    } 
    IEnumerator SendJson() 
    { 
     WWWForm form = new WWWForm(); 
     form.AddField("offer_message", "Hello world"); 
     form.AddField("offer_name", "Great Deals"); 
     form.AddField("start", "20171015 103025 UTC"); 
     form.AddField("end", "20171015 103025 UTC"); 
     form.AddField("type", "self"); 
     form.AddField("value", "transport"); 
     form.AddField("amount", "1.00"); 
     yield return "start"; 

     WWW w = new WWW (form); 
     yield return w; 
     if (!string.IsNullOrEmpty(w.error)) 
     { 
      print(w.error); 
     } 
     else 
     { 
      print("json sent to server"); 
     } 
    } 

    public void OnConnectedToServer() 
    { 
     Debug.Log("Im connected"); 
    } 
} 
+0

Очевидная ошибка, передавая WWWForm методу, который ожидает строку. Вы даже попытались решить эту проблему? –

ответ

0

Вы создаете экземпляр типа WWWForm здесь:

WWWForm form = new WWWForm(); 

Тогда вы обеспечиваете этот объект в качестве аргумента конструктору WWW здесь:

WWW w = new WWW (form); 

этот конструктор» s принимает строковый аргумент. Это не имеет никакого отношения к json, curl или даже к классу WWW. Это несоответствие типа.

+0

Какую строку вы можете уточнить? – TurboSlug

+0

Я не могу, фактически, потому что я просто цитирую предупреждение компилятора: «лучшее перегруженное соответствие метода для UnityEngine.WWW.WWW (string) содержит некоторые недопустимые аргументы», которые должны быть ясными. Я объяснил, что вы передаете _объект_, и метод, согласно вашему собственному отчету об ошибке компилятора, ожидает _string_ – clarkitect

0

Вы должны передать URL-адрес в constuctor объекта WWW, форма является вторым параметром.

WWW w = new WWW ("http://example.com/scores", form); 
Смежные вопросы