1.前端調用后台:
建議用你熟悉的一門服務端程序,例如ASP,PHP,JSP,C#這些都可以,然后把需要的數據從數據庫中獲得,回傳給客戶端瀏覽器(其實一般就是寫到HTML中,或者生成XML文件)然后在用JS獲得。
2.js只是前端的語言,它還沒有訪問數據庫的能力。不過它可以向某個URL發送請求,並獲得返回的數據。這個會用到Ajax技術。
用AJAX,頁面不刷新,只提交字符串到后台導入數據庫
通過純AngularJS+REST API構建Web是否可行?
在構建Web系統的時候,可不可以采用純AngularJS和全部REST API來進行構建?也就是說Web前端只有Html、CSS、JS(AngularJS、JQuery)的靜態資源,沒有任何服務器端生成的內容。同數據的交互完全采用REST API的方式進行。
如果可行,還有幾個問題:
1、REST API是無狀態的,如何對用戶進行身份驗證?
2、Web前端的靜態資源是否存在其他風險,例如可被用戶下載等。
3、如何保證REST API只能響應合法前端資源的請求,也就是不能讓用戶手動來去調用。
你的描述中沒有看出和 Angular 有任何關系,只是 REST API 下的問題。
1. REST 本身從來沒有自己的認證方式,你想怎么認證就怎么認證。
可以參考 Basic Auth、OAuth、OAuth 2.0 等等認證方式。
3. 通過 HTTP 協議來約束沒有可能,任何基於 HTTP 或 HTTPS 的網站,管你服務器還是瀏覽器渲染如何認證爬蟲想怎么爬怎么爬,理論上沒有可能從根本上區分是爬蟲還是用戶操作,是不是 RESTful 都一樣,頂多增加點難度比如驗證碼之類。要完全禁止爬蟲只有和網頁完全無關的方式,比如銀行的支付控件,U盾等等。
1. REST 本身從來沒有自己的認證方式,你想怎么認證就怎么認證。
可以參考 Basic Auth、OAuth、OAuth 2.0 等等認證方式。
認證完了給一個 Token 就是了。
2. 前端靜態資源(HTML/JavaScript/CSS)就是本來用戶可自由下載的,和 RESTful 沒有任何關系。非靜態文件一樣走的后端路由自己做好校驗就是。
3. 通過 HTTP 協議來約束沒有可能,任何基於 HTTP 或 HTTPS 的網站,管你服務器還是瀏覽器渲染如何認證爬蟲想怎么爬怎么爬,理論上沒有可能從根本上區分是爬蟲還是用戶操作,是不是 RESTful 都一樣,頂多增加點難度比如驗證碼之類。要完全禁止爬蟲只有和網頁完全無關的方式,比如銀行的支付控件,U盾等等。
編寫一個 JavaScript 的 REST客戶端
http://www.oschina.net/translate/writing-a-javascript-rest-client
使用python創建符合RESTful架構的web服務
js調用restful的web服務
基於restful接口的mvc架構
http://www.lovelucy.info/mvc-in-front-end-web-app-development-based-on-restful-api-design.html