後端說:只是你不懂怎麼用 headers!
事情是這樣的,上一個專案我們的後端提供的介面,一次性返回了所有資料給我,分頁功能是前端自己完成的。
那麼這次來的新專案,換了個後端,寫了另外的介面,我做專案的時候,還是用的之前的前端分頁元件,但是測試說前端的分頁沒有做?
於是乎,我就問後端,你返回給我的資料裡面沒有統計總數啊不能返回給我麼?
這樣的回答沒毛病,畢竟全部一次性返回給我,sql 查詢是挺費事的,不過這只不不過是一個 demo 系統,演示給客戶看的,再說目前會有多少條資料,即便是百萬條資料,mysql 的查詢效能我想也不會很差,畢竟您不要做一下 sql 優化嗎?
果然是高手,把分頁資料 存在 response.header 裡面了,順便多說一句,我們這個是前後端分離的專案,因為存在 cros 跨域,所以,我這邊獲取 response.headers 只能獲取以下的資料
並不能完全獲取後端自定義的 response header 的所有資料,科普了一下原來是這樣的
我問後端,你設定了嗎,後端說不用設定啊,說另外一個同事可以取(據我說知另外一個同事使用的 swagger)你用 swagger 同一個埠、域名,存在跨域嗎,我想問你?你還好意思讓我用 swagger 測試你的介面,那 tm 當然不會存在跨域問題,當然可以在 response.headers 裡面得到你的分頁資料
你返回給我的是這樣的資料,讓我猜想一下,可能是用了統一的方法,你不好去改後端返回的資料,或則還是你比較懶。就 是不想把分頁資料,通過正常 respone.text 傳給我,還是你故意顯示你的技術牛逼!存在 header 裡面?
呵呵,此時後端嘲諷我 『只是你不懂怎麼用 header』
問我是 js 麼?我一個攻城獅,傳送 ajax 請求,你問我是 js 麼,還要教我,不好意思,這點尊嚴還是有的,既然你這麼懂 header,那麼我前端傳遞參,也把當前的頁碼,page 引數(後端需要的引數),存在 header 裡面
其實本來應該放在 query string 裡面的,你既然喜歡在 response.headers 存總頁碼,那就別怨我在
request.headers 裡面給你傳遞 page,畢竟我不懂 header~~~
順便提一下,我存在 headers裡面了,我測試分頁,發現不管我點選哪個頁面,後端返回的總是第一頁的資料,那麼我敢斷定,後端取引數,肯定不是從 headers 裡面取的 page
本來easy 的事情,你非要搞這麼複雜,何必呢,跟我顯擺什麼呢。。。
=======================================================
今天又更新了,我們繼續看熱鬧
說到這裡我就笑了,該後端說,他的 response.header 存放分頁 資料 是 response 的一部分。是正常操作
我前端 用 request.headers 傳遞 頁面 就是不符合 restful 規範了?
首先他說的這個 restful 規範,我就笑了,人家 restful 是一種風格而已,
退一步說,你後端傳 response.headers 就可以,我前端 就不行了,不符合規範了?我看是你取不到頁碼了吧!!!
導致你的 query 語句一直取的預設為第一頁的資料,辣雞!
因為上個專案 是另外一個後端,做的也是一個 demo,一次性返回20多條資料給我,前端自己做的分頁
跟這個人合作,第一次,我就問能不能一次性全部給我,不行就拉倒。現在藉著這個話題跟我扯效能問題
請我一下現在做的這個 demo 就10幾條資料,你跟我談什麼效能?你確定你真的懂 sql 效能,
說我態度有問題,你介面文件上有跟我說分頁寫在了reponse.header 裡面?你介面文件上面有說要傳遞 page 引數麼?
swagger 上面就 tm 一個 請求,一個 type,又告訴前端傳遞正確引數麼?你返回的 response.headers 裡面的分頁資料又在哪裡?
死豬不怕開水燙,文章一開始我就跟他說了如果後端設定了自定義的 response.headers,伺服器端要配置一下,
否則前端是拿不到的,還不行,你現在怎麼知道去設定了?你剛才不是 振振有詞說 為什麼別人可以你不可以嗎?
那你 tm 如果不按照我說的去配置,你 tm 取給我看看?
你自己說的話,是不是啪啪啪打臉?
說了這麼多,你就是不願意把分頁放在 response .text 裡面是吧,堅持放 header 裡面是吧
還什麼基於 yii 分頁序列化,分頁序列化跟你返回的資料格式有毛關係,你 tm 說白了,就是不想改返回的資料格式
你認為現在就這麼處理分頁是把,還是把分頁資料存 headers 裡面對把,
得了,那老子前端就給你傳 request.headers裡面 告訴你 page 就在那,你愛取不取,我 tm 就是有情緒了,咋啦,
你不是說我不懂 headers 麼,還 tm 要教我 js?呵呵。。。。。
作者:esbook
https://www.jianshu.com/p/86c92387351f