前端與后台交互所需技術


前端與后台交互:應該注意哪些問題:

  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數據格式進行傳送.

但是我們項目中用的最多的就是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. 當前端在調用數據接口時,發現有些數據不是我們想要的,那么前端應該怎么辦呢或者怎么跟后台講呢?

  解決辦法:1,首先要把請求的URL和返回的數據以及在頁面的展示的情況給跟后台看,這樣有理有據,后台開發人員是不會說什么的,佛則,后台會很不耐煩的,甚至罵你的可能都有,本身做后台比較難,尤其在查詢數據,取數據,封裝數據方面都比較難處理.

總結

與后台交互大致就是這些問題,大家都應該有所了解了吧. 
博客地址:http://blog.csdn.net/baihuaxiu123

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM