写在前面的废话:
本来一个好好的做前端逻辑,不和后台打交道的菜鸟码农,在有需求的时候需要从后台请求数据的时候,虽然知道逻辑,但是怎么写怎么有问题。于是乎,就打算把一个基本的Post请求写成简书,供自己和大家使用。
现在做的就是一个登陆注册界面,里面的整个逻辑我就不说了,我就捡核心的东西说说,当然包括UGUI(之前用NGUI很多,现在为了节约资源,换了UGUI,话说NGUI也快忘完了- -)。
一、屡屡逻辑
1、需要(用户名)和(密码)
2、传输给后台(转码和拼接)
3、返回请求
4、解析使用
传输逻辑手残,画了个图,能直面理解下整个传输的过程。
二、怎么实现
1、获取内容
a、我使用的是UGUI里面的InputField,在输入框里面拿东西,方法我直接写出来,复制粘贴就好
(UserName = UserNameObj.GetComponent().text)
b、字符串拼接,这个需要后台给你接口文档,主要分两个部分,第一是:URL地址,第二个是字段。
举个例子上面问号之前的是接口文档给你的URL地址,后面会标注参数。
例如:
接口名称:Login
URL: http://192.168.155.211:8080/w_Testproject/Sony.action
参数:UserName password
返回结果:
{ "isAcive":"1",
"msg","true"
}
不过接口文档例子的坑是很多很多*N多的,尤其初次沟通的时候,最好沟通好:
1、参数的数据类型是什么?
2、如果数据多的情况下,一定要标注每一个参数代表什么?
3、注意参数大小写!
4、拼接字符的时候,注意&这种符号!
在C#拼接的例子我就直接写出来(
string Test = "UserName"+UserName+"&password="+password; //其中UserName是自己得到的字符串,引号内的是参数;
字符串转换
byte [] b = System.Text.UTF8Encoding.UTF8.GetBytes (Test);
发送请求
WWW www = new WWW("http://192.168.155.211:8080/w_Testproject/Sony.action",b) ; //后面括号内的就是拼接的内容
3、解析
JsonData parseData = JsonMapper.ToObject (www.text); //解析数据
print (parseData ["isActive"]);//拿出isActive里面的内容
print (parseData ["msg"]);//拿出msg里面的内容
最后怎么处理 自己看
其中,一般这些在Unity里面都需要在协程里面去执行的。
有什么问题,留言沟通吧~
网友评论