前端调用后端的方法(基于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只能响应合法前端资源的请求,也就是不能让用户手动来去调用。
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架构)的更多相关文章
- ASP.Net:Javascript 通过PageMethods 调用后端WebMethod方法 + 多线程数据处理 示例
ASP.Net:Javascript 通过PageMethods 调用后端WebMethod方法 + 多线程数据处理 示例 2012年04月27日 16:59:16 奋斗的小壁虎 阅读数:4500 ...
- springboot结合jwt实现基于restful接口的身份认证
基于restful接口的身份认证,可以采用jwt的方式实现,想了解jwt,可以查询相关资料,这里不做介绍~ 下面直接看如何实现 1.首先添加jwt的jar包,pom.xml中添加依赖包: <de ...
- 设计模式之美学习(九):业务开发常用的基于贫血模型的MVC架构违背OOP吗?
我们都知道,很多业务系统都是基于 MVC 三层架构来开发的.实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式. 虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却违反了 ...
- Nginx解决前端调用后端接口跨域问题
1.项目中遇到的问题描述: 前端调用zuul统一网关服务接口,请求状态码200,但是无返回数据. 浏览器控制台报错信息:No Access-Control-Allow-Origin header i ...
- 随机获得MySQL数据库中100条数据方法 驾照题库项目 MVC架构 biz业务层的实现类 根据考试类型rand或order通过dao数据访问层接口得到数据库中100或全部数据
package com.swift.jztk.biz; import java.util.Collections; import java.util.Comparator; import java.u ...
- 前端调用后端接口下载excel文件的几种方式
今天有一个导出相应数据为excel表的需求.后端的接口返回一个数据流,一开始我用axios(ajax类库)调用接口,返回成功状态200,但是!但是浏览器没有自动下载excel表,当时觉得可能是ajax ...
- 【Python】【Flask】前端调用后端方法返回页面
后端代码: @app.route("/test",methods=['POST','GET']) def test(): return "我是测试的" 前端代码 ...
- 【Python】【Flask】前端调用后端方法
后端代码: @app.route("/test",methods=['POST','GET']) def test(): return "我是测试的" 前端代码 ...
- 前端调用后端接口返回200(成功状态码),后端有返回,但是控制台Network Response为空,没展示任何信息
解决方法: 1.在js里面debugger,可以看到后台是否有返回数据. 2.直接console.log(),直接把返回值打印出来,查看返回的数据格式,方便前端进行数据的处理. PS:因为后端返回的数 ...
随机推荐
- mac Virtualbox Ubuntu 设置共享目录
如果要用VirtualBox自带的共享文件夹功能,必须先安装Guest Additions.安装方法:置顶的菜单条->devices->Install Guest Additions.点击 ...
- Unity 大版本更新之APK的下载与覆盖安装
作为一个游戏开发者,更新这个技能是必不可少的!更新分为游戏内的更新,也就是所谓的资源热更包括AssetBundle更新和代码更新,代码其实也是所谓的二进制文件,在安卓上和普通资源文件毫无差异,然而在I ...
- MathType手写输入面板清空的方法
我们在文档中进行公式编辑的时候一般都会选用MathType数学公式编辑器来完成这个编辑过程,利用MathType里面的各种模板与符号可以编辑出很多我们需要的公式.最新版的word公式编辑器MathTy ...
- oracle函数学习_根据用户id获取用户角色
create or replace function FN_GET_ROLES(v_user_id varchar2) return varchar2 istype zy_emp_cursor is ...
- mybatis由浅入深day02_9.3.5使用生成的代码_9.4逆向工程注意事项
9.3.5 使用生成的代码 需要将生成工程中所生成的代码拷贝到自己的工程中. 拷这4个到我们原来的spring_mybatis1216工程下 ItemsMapper.java package cn.i ...
- The content of element type "struts" must match "((package|include|bean|constant)*,unknown-handler-s
<struts> <!-- 配置为开发模式 --> <constant name="struts.devMode" value="t ...
- Python 转义字符
转义字符 说明 \ 用在一行的末尾,表示续行符 \r 回车 \n 换行符 \\ 打印反斜杠 \' 打印单引号 \" 打 ...
- MUI 分享功能(微信、QQ 、朋友圈)
配置文件:manifest.json plus ->plugins 下边 "share": {/*配置应用使用分享功能,参考http://ask.dcloud.net.cn/ ...
- django 自定模板标签的注册
首先注册方法一般都是先实例化一个template.Library.如: from django import template register = template.Library() 1.注册自定 ...
- LeetCode——Generate Parentheses
Description: Given n pairs of parentheses, write a function to generate all combinations of well-for ...