前端调用后端的方法(基于restful接口的mvc架构)

Posted muzinan110

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端调用后端的方法(基于restful接口的mvc架构)相关的知识,希望对你有一定的参考价值。

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 等等认证方式。

认证完了给一个 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

 

以上是关于前端调用后端的方法(基于restful接口的mvc架构)的主要内容,如果未能解决你的问题,请参考以下文章

简历的分布式

用于 Restful 后端的 Ember.js 或 Backbone.js [关闭]

客户端开发中的后端数据拦截与修改

后端提供给前端restful的接口,前端怎么操作

vue中,前端如何保存后端的接口返回值

理解RESTful架构