2019/0415/前端JQ-Ajax+JSON&後端ADO建置、主板頁面概念控制項、Bootstrap演示
前端程式設計最後一PART
( AJAX JSON )
第29有試過抓取GOOGLE API拋出來的資料 ( 前五筆免前
第三方api
Application Interface 程式用的介面
Ui user Interface
為了要跨裝置,不像以前單純
Client -> api -> server 完全分開
無論是增刪修
與後端溝通必須要有個標準
但前端設備太多了
所以需要api做整合
以前用 xml soap
現在改為 json
範例 : 農委會開放平台
更新速度非常快
資料格式非常多 json csv excel word xml
以後的資料不一定都跟資料庫溝通
有種方式為 nosql
有資料介接說明文件甚至有版本
json不管是什麼資料都必須要放在雙引號內
ctrl c 回vs
前端專案增加新項目json檔案
Ctrl v 就很清楚結構
其實就是一堆的集合[ ]
每筆資料{ }
“Key”:”value”, 表示法

利用url取資料
就想像把api想像為函數
必須要有技術文件才看得懂設計

第一html
第二jq
第三dom
以往js寫ajax非常麻煩
現在利用jq來寫
jq寫ajax
利用ajax方法 跟 api要資料
$.ajax(); 方法
Ajax->局部更新
Ux Experience
不用整個網頁做post也可以向伺服器提出要資料
type:
http有兩種傳遞資料方式get post
url:
json位址,(像是背景資料非同步有拿到資料或沒拿到都不會看到報錯
format:
指定api拋回之資料格式,以往預設是xml
success:
成功抓取資料的話執行後續函式
error:
失敗了執行後續函式
將資料顯示(dom資料)
可以換顯示順序或顯示筆數或樣式
題外話:
表格不適合響應式,卡片才適合。
不知道幾筆所以要用迴圈控制
順道知道html5語意thead、tbody
傳入data(json資料)參數進函數使用
欄位位址.欄位名稱
data[i].AVGPRICE
PRGRAS?? preload?? 有時筆數資料太多 必須讓使用者知道正在讀取

加上css

即時資料
XML都是標籤比較笨重
資料介接即時資料
https通常就能直接介接ssl編碼過
xml json 容易被輕易擷取
階層式資料
要自己去想關聯
用id就可以互相查詢
json如果要顯示第二層的資料的話直接打欄位就好(第二層有兩個欄位)
位址.第一層欄位.第二層欄位
邏輯:
1準點或誤點,如果誤點則顯示誤點時間多久
2順行逆行01判斷

JSON階層結構
範例 : 關鍵字查詢 API
兩種方式
1. 藉由URL去API要關鍵資料顯示(要對方API有寫查詢功能
2. 資料全部抓回來後由程式判別顯示
身為程式設計師就是要抓回來寫邏輯判斷
清空TABLED讓資料不會附加上去
SETINTERVAL每隔多少區間呼叫一次
SETTIMEOUT差別是第二種一開始必須有人呼叫一次

補充
PTX有GITHUB/GITBOOK等開放服務
https://ptx.transportdata.tw/PTX/
https://github.com/ptxmotc/Sample-code
https://ptxmotc.gitbooks.io/ptx-api-documentation/content/
示範應用
https://ptx.transportdata.tw/PTX/Demo/Example
其實程式就是這個樣子做出來!
API串接的程式,客戶端可以直接執行,但是要有網路。
下午後端
webform 準備踏入 MVC
前段課程如果要刪除資料 實務上會一起刪除 ( 刪除明細後再刪除主要資料 )
同一個功能無法用webfome轉MVC
但能夠放在同一個專案裡面
MVC7個步驟但是是最多不是每次都7個

WebForm->MVC
要在WebForm內建立Model
藉由Entity Framework
直接操作資料庫
之前有學過(DataSouceControl、ADO.net
以下使用 空白專案同時建置 使用ADO.net串接資料庫
演示 Webform 變 MVC
建置環境




MVC
1模型從資料庫來
2空的要自己畫模型
3沒有資料庫也沒有模型但用編程方式建立模型產生資料庫??
4利用現有資料庫建立code產生模型
Webfome 透過 Entity做新刪修
Gridview 讀資料 現在開始讀寫都不會用到sql而是entity




以上截圖僅為參考需要考慮其原理更改自訂id等等…
如果有問題最好直接整個方案刪除一步步重來
完成 ADO.net 繫結後


需要建置編碼
題外話:
指標
堆疊演算法
主板頁面概念 Contentplaceholder 控制項








Bootstrap UI介面 3.4.1 (版本很重要不可互用)
有

無


Index.aspx
Index2.aspx
Index2.aspx.cs
Site1.Master
Site1.Master
Last updated
Was this helpful?