Express中res.render和res.redirect的区别
render不会去执行controller中的action方法,直接渲染相应的页面文件,可以使用的。参数如下:
[ruby] view plain copy
render(:text => string)
render(:inline => string, [:type => “rhtml”|”rxml”])
render(:action => action_name)
render(:file => path, [:use_full_path => true|false])
render(:template => name)
render(:partial => name)
render(:nothing=>true)
render()
第1行:直接渲染出文本
第2行:把传入的string渲染成模板(rhtml或者rxml)
第3行:直接调用某个action的模板,相当于forward到一个view
第4行:使用某个模板文件render, 当use_full_path参数为true时可以传入相对路径
第5行:使用模板名render,e.x.: render(:template => “blog/short_list”)
第6行:以局部模板渲染
第7行:什么也不输出,包括layout
第8行:默认的的render, 相当于render(:action => self)
Redirect是跳转到一个新的action中继续执行,相当于浏览器发送了一个新的请求,并且默认返回302状态码。例如:
[ruby] view plain copy
def redirect_to(options = {}, response_status = {}) #:doc:
raise ActionControllerError.new(“Cannot redirect to nil!”) if options.nil?
if options.is_a?(Hash) && options[:status]
status = options.delete(:status)
elsif response_status[:status]
status = response_status[:status]
else
status = 302
end
response.redirected_to = options
case options
The scheme name consist of a letter followed by any combination of
letters, digits, and the plus (“+”), period (“.”), or hyphen (“-“)
characters; and is terminated by a colon (“:”).
when %r{^\w[\w\d+.-]:.}
redirect_to_full_url(options, status)
when String
redirect_to_full_url(request.protocol + request.host_with_port + options, status)
when :back
if referer = request.headers[“Referer”]
redirect_to(referer, :status=>status)
else
raise RedirectBackError
end
else
redirect_to_full_url(url_for(options), status)
end
end
Express中res.render和res.redirect的区别相关推荐
- java中forward和redirect_Forward和Redirect的区别
# Forward和Redirect的区别 ---------- ## 通俗比方 - 直接转发请求(Forward)就相当于:"A找B借钱,B说没有,B去找C借,借到借不到都会把消息传递给A ...
- java中forward和redirect_java中转发forward和重定向redirect的区别
Forward(转发) 是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是 ...
- Express中app.all()和app.use()的区别
//all路径匹配是精确匹配,只能和参数1中的路径一致才进行匹配 app.all('/api', (req, res) => {res.send(`Api接口文档---` + req.metho ...
- java中forward和redirect_forward和redirect的区别?
forward:转发:redirect:重定向.区别如下: 浏览器 url 地址显示不同 服务端通过 forward 返回,浏览器 url 地址不会发生变化:服务器通过 redirect 返回,浏览器 ...
- Java中转发(Forward)和重定向(Redirect)的区别
从URL来说,转发的地址栏没有发生改变,而重定向则是新的URL 从数据共享来说,转发可以共享request域里面的数据,而重定向则不能. 效率来说转发效率高,重定向效率低 转发一般用来登陆后转发到对应 ...
- express中res.sendFile、res.render、express.static()三者的使用
一.res.sendFile 必须使用绝对路径,它的作用是响应出去一个任意类型文件,也可以直接返回html文件做渲染. app.get("/kkk", (req, res) =&g ...
- Node——express模块中的req,res参数
express模块中的req,res参数的常用属性方法 const express = require('express'); const router = express.Router() rout ...
- express模块中的req,res参数
express模块中的req,res参数的常用属性方法 const express = require('express'); const router = express.Router() rout ...
- Express res.render 学习笔记
server.get('*', (req, res) => {res.render(indexHtml, {req,providers: [{ provide: APP_BASE_HREF, u ...
最新文章
- 60亿击败1750亿、验证胜过微调:OpenAI发现GPT-3解决数学题,并非参数越大越好...
- Tornado自定义分布式session框架
- 【学习干货】目标检测算法之SSD
- HarmonyOS之常用组件TabList与Tab的功能和使用
- python打印多个变量_在Python中打印多个变量
- laravel支付宝sdk接入
- 集成学习之Adaboost(提升方法)
- cdn对动态网站有作用吗_网站选择cdn加速有什么作用?
- kafka不使用自带zk_Centos安装kafka(使用自带的zookeeper)
- 动态链接库dll,导入库lib,静态链接库lib
- python与乐高ev3结合_乐高Ev3嵌入式系统(Python)的图像识别
- 汽车工程大专业细分学科类别小探
- 使用selenium爬验证码图片并识别
- React表格内容换行并用省略号显示
- 首届华为开发者大赛沙龙牵手大连-与开发者共话赛事
- 微信钱包里的钱居然不见了,微信支付绑卡的用户要注意这几点
- Vmware虚拟机文件介绍、克隆及文件名称更改方法
- 基于antd pro框架,配置接口apiUrl前缀
- 常用企业微信开源SCRM对比
- 关于 ZAO 换脸 App 中你需要注意的个人隐私问题
热门文章
- FairMOT训练测试自定义数据集
- 如何使用 scp 将文件夹从远程复制到本地?
- 统计字符串中字幕出现的数量(Map案例)
- ESP32_esp-adf环境搭建
- python大作业代码_爬虫大作业(示例代码)
- 如何通过rancher部署k8s集群
- 关于测速MB/S,Mb/S,KB/s的区别
- 论文查重的次数是否会有限制?
- VMware Workstation15.1.0安装Windows 1903虚拟机
- python 战棋游戏代码实现(2):六边形地图寻路和显示