前端與後臺交互:應該注意哪些問題:php
在開發中,URL主要是由後臺來寫,寫好了以後再給前端開發者。前端
若是後臺在查詢數據,須要藉助查詢條件才能查詢到前端須要的數據時,這時後臺會要求前端提供相關的查詢參數:如:數據庫
select "產品圖片","優惠[買2送花茶]","產品名稱","商品價格","是否包郵" from tb_goodList where time = 「傳遞過來的參數" 若是沒有後面的查詢條件,就會查詢到全部的時間的數據,前端則須要的是某一天的數據,這時前端就須要把時間當作參數傳遞給後臺,後臺根據這個參數再進行數據查詢.返回前端頁面須要的數據.例如: http://www.hehe168.com/goodList.php?time="2016-05-12 00:00:00"
二、接口文檔主要由誰來寫?
接口文檔也是主要由後臺開發者來寫的,由於直接跟數據打交道的就是後臺,後臺是最清楚,數據庫裏面有什麼數據,能返回什麼數據.
json
總的來說,接口文檔主要由後臺來設計,修改,前端開發者起到了輔助的做用.
1) 另外一種是 JSON(JavaScriptObject Notation),這也是一種輕量級的數據傳輸格式,就是用一堆中括號把數據組織起來,
好處:不像二進制,這種格式是人可讀的,而且比較輕巧,因此也有大量的應用場景。採用json數據格式進行傳送.後端
可是咱們項目中用的最多的就是JSON數據格式,它的通常形式:
{「flag」:」001」,」content」:{}}
在項目的時候,咱們先後端會大概說一下接口地址,前端請求的參數,後端返回的參數,而後你們就開始寫,寫的差很少的時候,你們調一下接口看一下返回的數據,沒問題就能夠了。瀏覽器
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請求沒有長度限制(理論上是沒有的,可是不一樣的服務器是存在不一樣限制的)
首先,前端要先學會對一個頁面展現的數據進行有效的分析,把須要的數據都記下來,而後告知後臺.你們看到仍是感到很迷惑,我來舉一個例子:
以這個圖爲例:咱們能夠把這個頁面劃分爲三個部分以下圖所示:服務器
1) 輪播圖部分 2) 商品種類部分 3) 每日推薦部分
接下來咱們會對這三部分進行詳細的解釋.請你們繼續往下看.
7.那麼咱們應該怎麼把這些頁面信息有效傳達給後臺以及後臺如何獲取數據的?jsp
前端部分:我頁面須要今天產品的最新圖片地址,URL中的參數主要是根據後臺須要,若是後臺須要前端傳遞一個時間,纔可以查詢到具體的圖片信息,那麼前端在數據請求時請求參數就應該包含時間的參數,例如: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"
咱們來分析一下這張展現的圖片.
他包含哪些內容呢,是否是包含:
1)標題圖片 2)標題
這些內容在後臺數據庫表的設計中 也是一個單獨的數據庫表進行存儲,對於後臺來說查詢和取得數據是很是容易的.因此後臺只須要設計個URL給前端就能夠了,若是須要什麼輔助參數,後臺會直接向前端要求的.例如:
URL形式:
URL:http://www.hehe168.com/variety.php 或者http://www.hehe168.com/variety.php?time="2016-05-12 00:00:00"
如圖所示:
咱們看下上面圖它包含哪些內容:
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=""
好這個頁面分析完了,你們應該有個初步認識了吧.接着往下講.
在與後臺打交道中,咱們常常遇到這種狀況,有時候明明後臺來處理某個事件很簡單,後臺非要你來作,這時候咱們應該懂得去回絕他.
這可能對於以前沒作過項目,或者沒與後臺打交道的人來說很是頭痛的事,這就須要咱們對一個需求,一個任務的要有清晰認識了,若是對任務含糊不清,本身都沒搞明白,你只能受後臺擺佈了.最後也會由於任務沒有完成而備受責難了.在這裏就不給你們舉例子了.
在這裏給你們一些建議,也就是在與後臺打交道時,不要輕易的承諾,對不少本身熟悉的需求或功能點,本身能夠馬上答應下來,對那些模糊不清,記下來,回去百度,看看具體原理是什麼,是否是該前端這邊去實現或者實現起來很是困難,那麼想一想後臺是否作起來很方面,去跟後臺商量.
解決辦法:1,首先要把請求的URL和返回的數據以及在頁面的展現的狀況給跟後臺看,這樣有理有據,後臺開發人員是不會說什麼的,佛則,後臺會很不耐煩的,甚至罵你的可能都有,自己作後臺比較難,尤爲在查詢數據,取數據,封裝數據方面都比較難處理.
與後臺交互大體就是這些問題,你們都應該有所瞭解了吧.
博客地址:http://blog.csdn.net/baihuaxiu123