【实例分析 】 iOS前端与后台交互技术实现与细节

摘要

这篇文章会帮助那些还没有工作或者才去工作不久或者是正处于试用期的同学非常关心的一个问题。

我们做iOS,HTML5,安卓等前端开发的如何跟我们的公司后台进行交互?

面临后台我们应该说些什么?

应该怎么去规避一些不该属于自己的任务而被后台强加于自己?

下面我们就一起来学习一下吧:

目录

1.前端请求数据URL的谁来写?

2.接口文档主要由谁来写?

3.前端开发与后台交互的数据格式主要是什么?

4.前端开发的后台交互原理?

5.前端请求参数的形式

6.前台应该告知后台哪些有效信息,后台才能返回前端想的数据的呢?

7.我们应该怎么把页面这些信息有效传达给后台呢,以及后台是如何获取到数据的呢?

8.前端应该如何规避一些本不属于自己做的一些功能需求或任务呢?

9. 当前端在调用数据接口时,发现有些数据不是我们想要的,那么前端应该怎么办呢或者怎么跟后台讲呢?

下面来给大家进行详细的解释.

1.前端请求数据的URL由谁来写?

在开发中,URL主要是由后台来写的,写好了给前端开发者.

如果后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数,例如:

select "产品图片","优惠[买2送花茶]","产品名称","商品价格","是否包邮" from tb_goodList where time = “传递过来的参数" 如果 没有后面的查询条件,就会查询到所有的时间的数据,前端则需要的是某一天的数据,这时前端就需要把时间当做参数传递给后台,后台根据这个参数再进行数据查询.返回前端页面需要的数据.

例如: http://www.hehe168.com/goodList.php?time="2016-05-12 00:00:00"

2.接口文档主要由谁来写?

接口文档也是主要由后台开发者来写的,因为直接跟数据打交道的就是后台,后台是最清楚,数据库里面有什么数据,能返回什么数据.前端开发只是数据的被动接受者.所以接口文档也主要是由后台来完成的,前端只是接口文档的使用者,使用过程中,发现返回的数据不对,则需要跟后台进行商量,由后台来修改.切记 前端不要随意更改接口文档,除非在取得后台开发人员的同意的情况下.

总的来讲,接口文档主要由后台来设计,修改,前端开发者起到了辅助的作用.

3.前端开发与后台交互的数据格式主要是什么?

1) 另一种是 JSON(JavaScriptObject Notation),这也是一种轻量级的数据传输格式,就是用一堆中括号把数据组织起来。

好处:不像二进制,这种格式是人可读的,并且比较轻巧,所以也有大量的应用场景。采用json数据格式进行传送.

2) XML

但是我们项目中用的最多的就是JSON数据格式,它的一般形式:

{“flag”:”001”,”content”:{}}

4.前端开发的后台交互原理?

在项目的时候,我们前后端会大概说一下接口地址,前端请求的参数,后端返回的参数,然后大家就开始写,写的差不多的时候,大家调一下接口看一下返回的数据,没问题就可以了。

5.前端请求参数的形式

GET和POST是HTTPS的两个常用方法。

GET - 从指定的服务器中获取数据

POST - 提交数据给指定的服务器处理

GET方法特点:

使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器:

/test/demo_form.jsp?name1=value1&name2=value2

特点:

GET请求能够被缓存

GET请求会保存在浏览器的浏览记录中

以GET请求的URL能够保存为浏览器书签

GET请求有长度限制

GET请求主要用以获取数据

POST方法:

使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器:

POST /test/demo_form.jsp HTTP/1.1

Host: w3schools.com

name1=value1&name2=value2

特点:

POST请求不能被缓存下来

POST请求不会保存在浏览器浏览记录中

以POST请求的URL无法保存为浏览器书签

POST请求没有长度限制(理论上是没有的,但是不同的服务器是存在不同限制的)

6.前台应该告知后台哪些有效信息,后台才能返回前端想的数据的呢?

首先,前端要先学会对一个页面展示的数据进行有效的分析,把需要的数据都记下来,然后告知后台.大家看到还是感到很迷惑,我来举一个例子给大家进行详细的解释.看图片:

以这个图为例:我们可以把这个页面划分为三个部分如下图所示:

1) 轮播图部分

2) 商品种类部分

3) 每日推荐部分

接下来我们会对这三部分进行详细的解释.请大家继续往下看.

7.那么我们应该怎么把这些页面信息有效传达给后台以及后台如何获取数据的?

1) 轮播图部分

前端部分:我页面需要今天产品的最新图片地址,URL中的参数主要是根据后台需要,如果后台需要前端传递一个时间,才能够查询到具体的图片信息,那么前端在数据请求时请求参数就应该包含时间的参数,例如:

URL:http://www.hehe168.com/GetPicture.php  或者http://www.hehe168.com/GetPicture.php?time="2016-05-12 00:00:00"

后台部分:就会去数据库里面去查找相应的数据表中的例如轮播图表,查询条件就是前端传递过来的URL参数time例如:

select “轮播图片” from tb_picture where time = "2016-05-12 00:00:00"

2) 商品种类部分

我们来分析一下这张展示的图片.

他包含哪些内容呢,是不是包含:

1)标题图片 2)标题

这些内容在后台数据库表的设计中 也是一个单独的数据库表进行存储,对于后台来讲查询和取得数据是非常容易的.所以后台只需要设计个URL给前端就可以了,如果需要什么辅助参数,后台会直接向前端要求的.例如:

URL形式:

URL:http://www.hehe168.com/variety.php 或者http://www.hehe168.com/variety.php?time="2016-05-12 00:00:00"

3) 每日推荐部分

如图所示:

我们看下上面图它包含哪些内容:

1)产品图片 2)优惠[买2送花茶]   3)产品名称 4)商品价格 5)是否包邮

前端把这些信息告知后台,后台看到这些信息后,会去相对应的数据库去查询,如果这些数据后台很容易获取到,会直接给个URL给前端.否则就需要前端通过URL来传递一些参数.

URL形式:

URL:http://www.hehe168.com/goodList.php 或者http://www.hehe168.com/goodList.php?time="2016-05-12 00:00:00&clases=""

所以总的来讲:所有前端请求的URL后面的参数,都是辅助后台数据查询的.如果不需要参数,那么后台就会直接给个URL给前端.

好这个页面分析完了,大家应该有个初步认识了吧.接着往下讲.

8.前端应该如何规避一些本不属于自己做的一些任务或功能需求呢?

在与后台打交道中,我们经常遇到这种情况,有时候明明后台来处理某个事件很简单,后台非要你来做,这时候我们应该懂得去回绝他.

应该怎么去回拒它呢?

这可能对于之前没做过项目,或者没与后台打交道的人来讲非常头痛的事,这就需要我们对一个需求,一个任务的要有清晰认识了,如果对任务含糊不清,自己都没搞明白,你只能受后台摆布了.最后也会因为任务没有完成而备受责难了.在这里就不给大家举例子了.

面临这样的问题,我们应该如何去做呢?

在这里给大家一些建议,也就是在与后台打交道时,不要轻易的承诺,对很多自己熟悉的需求或功能点,自己可以立刻答应下来,对那些模糊不清,记下来,回去百度,看看具体原理是什么,是不是该前端这边去实现或者实现起来非常困难,那么想想后台是否做起来很方面,去跟后台商量.

9. 当前端在调用数据接口时,发现有些数据不是我们想要的,那么前端应该怎么办呢或者怎么跟后台讲呢?

解决办法:

首先要把请求的URL和返回的数据以及在页面的展示的情况给跟后台看,这样有理有据,后台开发人员是不会说什么的,佛则,后台会很不耐烦的,甚至骂你的可能都有,本身做后台比较难,尤其在查询数据,取数据,封装数据方面都比较难处理.

总结

与后台交互大致就是这些问题,大家都应该有所了解了吧.

更多精彩内容请关注微博@蓝鸥教育 ,微信【蓝鸥】。

THE END.

发布/蓝鸥仔仔

蓝鸥仔仔,一个每天拿着5毛钱工资到处嗨的人。

长期寻找好的文,结交好的人,幻想着成为一个伯乐,把好的文给大家一起看,一起成长。

很高兴认识你,喜欢请关注一个。这样,在找文的时候就更有动力了。

PS:你有文,不介意的话给我投稿吧,最最喜欢好文了,期待你的投稿。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • 今天我们进行一场技术分享,,分享的主题也是大家还没有工作或者才去工作不久或者是正处于试用期的同学非常关心的一个问题...
    moshanghuakai88阅读 2,318评论 2 10
  • 怎样去规避一些不该属于自己的任务而被后台强加于自己? 1.前端请求数据URL谁来写? 在开发中,URL主要是由后台...
    米开朗骑騾阅读 3,449评论 0 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • 不想谈论彭于晏和张涵予有多帅,只想说哪些孩子太让人心疼。看完《湄公河行动》,里面最让我震惊的是哪些孩子,那么...
    圆宵不苑阅读 571评论 0 0
  • 有些事想开了,你就会明白,在这个世界上,你就是你,你痛,痛你自己,你累,累你自己,就算有人同情你,那又怎样,最后收...
    2edd223567a8阅读 276评论 0 1