我想使用WWW和WWWForm來調用我的web服務的POST方法來保存分數。從webservice調用POST方法(REST)
我的服務工作,我測試了使用Chrome的高級REST客戶端:
的問題是在客戶端...我有以下函數來調用我的服務:
public IEnumerable saveScore(String name, float score)
{
Debug.Log("POSTING");
WWWForm form = new WWWForm();
form.AddField("dummy", "something");
Dictionary<String, String> headers = form.headers;
byte[] rawData = form.data;
headers["arqamUserName"] = name;
headers["arqamUserScore"] = score.ToString();
// Post a request to an URL with our custom headers
Debug.Log("CREATING WWW");
WWW www = new WWW(url, rawData, headers);
yield return www;
Debug.Log("HAVE RESULTS");
//.. process results from WWW request here...
if (www.error!= null)
{
Debug.Log("Erro: " + www.error);
}
else
{
Debug.Log("All OK");
Debug.Log("Text: " + www.text);
}
}
然後,我只是調用上面的函數:
private bool test = false;
void Update()
{
if (!test)
{
Debug.Log("Starting POST");
Scores.getInstance().saveScore("POST", 50);
Debug.Log("Finished POST");
test = true;
}
}
我已經完成了其他使用restsharp的c#客戶端......但是我在Unity中執行時遇到問題。
當我運行我的比賽和功能saveScore()被調用時,我得到這樣的輸出:
Starting POST
Finished POST
我在做什麼錯?
謝謝,只是改變了這兩件事情,它完美的工作! – lulas