摘要
這篇文章會幫助那些還沒有工作或者才去工作不久或者是正處于試用期的同學非常關(guān)心的一個問題冠句。
我們做iOS,HTML5,安卓等前端開發(fā)的如何跟我們的公司后臺進行交互?
面臨后臺我們應該說些什么?
應該怎么去規(guī)避一些不該屬于自己的任務而被后臺強加于自己?
下面我們就一起來學習一下吧:
目錄
1.前端請求數(shù)據(jù)URL的誰來寫?
2.接口文檔主要由誰來寫?
3.前端開發(fā)與后臺交互的數(shù)據(jù)格式主要是什么?
4.前端開發(fā)的后臺交互原理派殷?
5.前端請求參數(shù)的形式
6.前臺應該告知后臺哪些有效信息,后臺才能返回前端想的數(shù)據(jù)的呢?
7.我們應該怎么把頁面這些信息有效傳達給后臺呢,以及后臺是如何獲取到數(shù)據(jù)的呢?
8.前端應該如何規(guī)避一些本不屬于自己做的一些功能需求或任務呢?
9. 當前端在調(diào)用數(shù)據(jù)接口時,發(fā)現(xiàn)有些數(shù)據(jù)不是我們想要的,那么前端應該怎么辦呢或者怎么跟后臺講呢?
下面來給大家進行詳細的解釋.
1.前端請求數(shù)據(jù)的URL由誰來寫?
在開發(fā)中,URL主要是由后臺來寫的,寫好了給前端開發(fā)者.
如果后臺在查詢數(shù)據(jù),需要借助查詢條件才能查詢到前端需要的數(shù)據(jù)時,這時后臺會要求前端提供相關(guān)的查詢參數(shù),例如:
select "產(chǎn)品圖片","優(yōu)惠[買2送花茶]","產(chǎn)品名稱","商品價格","是否包郵" from tb_goodList where time = “傳遞過來的參數(shù)" 如果 沒有后面的查詢條件,就會查詢到所有的時間的數(shù)據(jù),前端則需要的是某一天的數(shù)據(jù),這時前端就需要把時間當做參數(shù)傳遞給后臺,后臺根據(jù)這個參數(shù)再進行數(shù)據(jù)查詢.返回前端頁面需要的數(shù)據(jù).
例如: http://www.hehe168.com/goodList.php?time="2016-05-12 00:00:00"
2.接口文檔主要由誰來寫?
接口文檔也是主要由后臺開發(fā)者來寫的,因為直接跟數(shù)據(jù)打交道的就是后臺,后臺是最清楚,數(shù)據(jù)庫里面有什么數(shù)據(jù),能返回什么數(shù)據(jù).前端開發(fā)只是數(shù)據(jù)的被動接受者.所以接口文檔也主要是由后臺來完成的,前端只是接口文檔的使用者,使用過程中,發(fā)現(xiàn)返回的數(shù)據(jù)不對,則需要跟后臺進行商量,由后臺來修改.切記 前端不要隨意更改接口文檔,除非在取得后臺開發(fā)人員的同意的情況下.
總的來講,接口文檔主要由后臺來設計,修改,前端開發(fā)者起到了輔助的作用.
3.前端開發(fā)與后臺交互的數(shù)據(jù)格式主要是什么?
1) 另一種是 JSON(JavaScriptObject Notation)四啰,這也是一種輕量級的數(shù)據(jù)傳輸格式,就是用一堆中括號把數(shù)據(jù)組織起來。
好處:不像二進制,這種格式是人可讀的厂抽,并且比較輕巧,所以也有大量的應用場景丁眼。采用json數(shù)據(jù)格式進行傳送.
2) XML
但是我們項目中用的最多的就是JSON數(shù)據(jù)格式,它的一般形式:
{“flag”:”001”,”content”:{}}
4.前端開發(fā)的后臺交互原理筷凤?
在項目的時候,我們前后端會大概說一下接口地址苞七,前端請求的參數(shù)藐守,后端返回的參數(shù),然后大家就開始寫蹂风,寫的差不多的時候卢厂,大家調(diào)一下接口看一下返回的數(shù)據(jù),沒問題就可以了惠啄。
5.前端請求參數(shù)的形式
GET和POST是HTTPS的兩個常用方法慎恒。
GET - 從指定的服務器中獲取數(shù)據(jù)
POST - 提交數(shù)據(jù)給指定的服務器處理
GET方法特點:
使用GET方法時任内,查詢字符串(鍵值對)被附加在URL地址后面一起發(fā)送到服務器:
/test/demo_form.jsp?name1=value1&name2=value2
特點:
GET請求能夠被緩存
GET請求會保存在瀏覽器的瀏覽記錄中
以GET請求的URL能夠保存為瀏覽器書簽
GET請求有長度限制
GET請求主要用以獲取數(shù)據(jù)
POST方法:
使用POST方法時,查詢字符串在POST信息中單獨存在融柬,和HTTP請求一起發(fā)送到服務器:
POST /test/demo_form.jsp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
特點:
POST請求不能被緩存下來
POST請求不會保存在瀏覽器瀏覽記錄中
以POST請求的URL無法保存為瀏覽器書簽
POST請求沒有長度限制(理論上是沒有的死嗦,但是不同的服務器是存在不同限制的)
6.前臺應該告知后臺哪些有效信息,后臺才能返回前端想的數(shù)據(jù)的呢?
首先,前端要先學會對一個頁面展示的數(shù)據(jù)進行有效的分析,把需要的數(shù)據(jù)都記下來,然后告知后臺.大家看到還是感到很迷惑,我來舉一個例子給大家進行詳細的解釋.看圖片:
以這個圖為例:我們可以把這個頁面劃分為三個部分如下圖所示:
1) 輪播圖部分
2) 商品種類部分
3) 每日推薦部分
接下來我們會對這三部分進行詳細的解釋.請大家繼續(xù)往下看.
7.那么我們應該怎么把這些頁面信息有效傳達給后臺以及后臺如何獲取數(shù)據(jù)的?
1) 輪播圖部分
前端部分:我頁面需要今天產(chǎn)品的最新圖片地址,URL中的參數(shù)主要是根據(jù)后臺需要,如果后臺需要前端傳遞一個時間,才能夠查詢到具體的圖片信息,那么前端在數(shù)據(jù)請求時請求參數(shù)就應該包含時間的參數(shù),例如:
URL:http://www.hehe168.com/GetPicture.php ?或者http://www.hehe168.com/GetPicture.php?time="2016-05-12 00:00:00"
后臺部分:就會去數(shù)據(jù)庫里面去查找相應的數(shù)據(jù)表中的例如輪播圖表,查詢條件就是前端傳遞過來的URL參數(shù)time例如:
select “輪播圖片” from tb_picture where time = "2016-05-12 00:00:00"
2) 商品種類部分
我們來分析一下這張展示的圖片.
他包含哪些內(nèi)容呢,是不是包含:
1)標題圖片 2)標題
這些內(nèi)容在后臺數(shù)據(jù)庫表的設計中 也是一個單獨的數(shù)據(jù)庫表進行存儲,對于后臺來講查詢和取得數(shù)據(jù)是非常容易的.所以后臺只需要設計個URL給前端就可以了,如果需要什么輔助參數(shù),后臺會直接向前端要求的.例如:
URL形式:
URL:http://www.hehe168.com/variety.php 或者http://www.hehe168.com/variety.php?time="2016-05-12 00:00:00"
3) 每日推薦部分
如圖所示:
我們看下上面圖它包含哪些內(nèi)容:
1)產(chǎn)品圖片 2)優(yōu)惠[買2送花茶] ? 3)產(chǎn)品名稱 4)商品價格 5)是否包郵
前端把這些信息告知后臺,后臺看到這些信息后,會去相對應的數(shù)據(jù)庫去查詢,如果這些數(shù)據(jù)后臺很容易獲取到,會直接給個URL給前端.否則就需要前端通過URL來傳遞一些參數(shù).
URL形式:
URL:http://www.hehe168.com/goodList.php 或者http://www.hehe168.com/goodList.php?time="2016-05-12 00:00:00&clases=""
所以總的來講:所有前端請求的URL后面的參數(shù),都是輔助后臺數(shù)據(jù)查詢的.如果不需要參數(shù),那么后臺就會直接給個URL給前端.
好這個頁面分析完了,大家應該有個初步認識了吧.接著往下講.
8.前端應該如何規(guī)避一些本不屬于自己做的一些任務或功能需求呢?
在與后臺打交道中,我們經(jīng)常遇到這種情況,有時候明明后臺來處理某個事件很簡單,后臺非要你來做,這時候我們應該懂得去回絕他.
應該怎么去回拒它呢?
這可能對于之前沒做過項目,或者沒與后臺打交道的人來講非常頭痛的事,這就需要我們對一個需求,一個任務的要有清晰認識了,如果對任務含糊不清,自己都沒搞明白,你只能受后臺擺布了.最后也會因為任務沒有完成而備受責難了.在這里就不給大家舉例子了.
面臨這樣的問題,我們應該如何去做呢?
在這里給大家一些建議,也就是在與后臺打交道時,不要輕易的承諾,對很多自己熟悉的需求或功能點,自己可以立刻答應下來,對那些模糊不清,記下來,回去百度,看看具體原理是什么,是不是該前端這邊去實現(xiàn)或者實現(xiàn)起來非常困難,那么想想后臺是否做起來很方面,去跟后臺商量.
9. 當前端在調(diào)用數(shù)據(jù)接口時,發(fā)現(xiàn)有些數(shù)據(jù)不是我們想要的,那么前端應該怎么辦呢或者怎么跟后臺講呢?
解決辦法:
首先要把請求的URL和返回的數(shù)據(jù)以及在頁面的展示的情況給跟后臺看,這樣有理有據(jù),后臺開發(fā)人員是不會說什么的,佛則,后臺會很不耐煩的,甚至罵你的可能都有,本身做后臺比較難,尤其在查詢數(shù)據(jù),取數(shù)據(jù),封裝數(shù)據(jù)方面都比較難處理.
總結(jié)
與后臺交互大致就是這些問題,大家都應該有所了解了吧.
更多精彩內(nèi)容請關(guān)注微博@藍鷗教育 ,微信【藍鷗】粒氧。
THE END.
發(fā)布/藍鷗仔仔
藍鷗仔仔越除,一個每天拿著5毛錢工資到處嗨的人。
長期尋找好的文外盯,結(jié)交好的人摘盆,幻想著成為一個伯樂,把好的文給大家一起看饱苟,一起成長孩擂。
很高興認識你,喜歡請關(guān)注一個箱熬。這樣类垦,在找文的時候就更有動力了。
PS:你有文坦弟,不介意的話給我投稿吧,最最喜歡好文了官地,期待你的投稿酿傍。