post请求
1.首先我们肯定需要一个接口,这是数据库人员给我们的,一般例如这样
public const string CUSTOM_URL = "http://192.168.50.110/thinkphp/home/public/addparameter";
2.当我们拿到接口之后,确定这是我们存储数据的接口,这会需要和数据库人员沟通json的格式,确定我们前端人员传输的json能被数据那边解析出来
WWWForm form = new WWWForm();
//合成json
string jsonA = JsonMapper.ToJson(_AllChouserseData);
string jsonB = "," + @"""outPart""" + ":" + JsonMapper.ToJson(_AllChouserseData.outPart);
string jsonC = "," + @"""backPart""" + ":" + JsonMapper.ToJson(_AllChouserseData.backPart);
//往表单中填值
form.AddField("AllChouserseData", jsonA.Insert(jsonA.Length - 1, jsonB + jsonC));
//开启协同
StartCoroutine(SendPost(IPConstant.CUSTOM_URL, form));
3.SendPost请求方式
IEnumerator SendPost(string _url, WWWForm _wForm)
{
WWW postData = new WWW(_url, _wForm);
yield return postData;
if (postData.error != null)
{
Debug.Log(postData.error);
}
else
{
Debug.Log(postData.text);
}
}
我们发送请求,存储的数据位于_wForm里面,当数据库拿到我们存储的数据之后,插入数据库,然后再返回给我们一个key值,当我们需要拿到我们存储的数据的时候,再用这个key值去请求!
4.回调
yield return postData;
我们拿到的回调数据位于postData里面,当协同程序有返回的时候,会告诉我们我们存储是否成功,如果成功了,则会拿到数据库返回给我们的可以值。
get请求
get请求相对简单,get请求有200个字符限制,所以一般用来做登录之类的。
/// <summary>
/// get请求
/// </summary>
/// <param name="_url"></param>
/// <returns></returns>
IEnumerator SendGet(string _url)
{
string name = _loginName.text;
string pass = _loginPass.text;
WWW getData = new WWW(_url+ ("?name="+name+ "&pass="+pass));
yield return getData;
string re = getData.text.Substring(3,3);
if (re == "200")
{
_LoginView.SetActive(false);
}
else
{
StartCoroutine(closeError());
}
getData.Dispose();
StopCoroutine(SendGet(IPConstant.LOGIN_URL));
}
注意是登录成功之后,我们要关闭协同!