nodejs怎么在页面跳转的时候,浏览器地址不跳转 nodejs 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 301,302状态码,都会在响应中发送Location头,浏览器接收到301/302,然后就看头Location中的对应的值,然后转向,所以据我所知,这个方法不可行。其实,在你知道要做重定向的时候,目标地址是已知的,你可以创建一个http的客户端,将这个客户端返回的html再返回给你的客户端,相当于做了一个代理。另外,使用frameset或iframe也可以做到。或者在域名上做转发也可以。 不是还有res.render吗,你可以直接用这个,加载一个模板啊,不同的属性或者判断方法,去加载不同的页面。就可以了。 这个功能大致是根据短网址跳转到实际的地址,比如这个地址是一个图片的地址,别人用来显示,所以不能用iframe之类的页面来嵌套 那你直接用个模板,然后里面加个iframe加载对应的网址呗。要么你又要用自己的地址,又要用别人的内容,怎么搞? 是这样的,在文件系统上传了一个文件(比如目前的功能主要是图片文件),可以生成对应的下载地址,别人可以分享,分享出去的是一个短网址。如果这个分享是公开,那访问短网址,就会直接转到实际的下载地址。如果这个分享是私密的,那访问短网址,会先转到一个密码输入页面,用户输入正确密码之后,再转到实际的地址。现在的问题是,用户输入密码之后,浏览器地址跳转到实际的下载地址,然后把这个地址拷出来之后,就可以绕过密码直接访问了。。。你这个逻辑根本就是错误的,我也做过网盘下载,要根据post的密码或者当前登陆用户权限来输出不同页面,这跟后台有关,不存在在不同的网址下载。再就是,实际的地址根本不用暴露,用户看到的都是download?id=xxxx&token=asdgwegewl类似参数的网址,依靠服务器端程序输出2进制流的。你认为下载就是给个xxx.zip的实际地址来下载么? 那你最终输入密码之后要跳的那个网址,如果是使用的你nodejs做的路由跳转,那么这个跳转使用post类型就行了啊。那么在输入的地址栏,如果直接输入网址,是get类型的访问,就不会能访问到的啊。比如你要访问的地址是:比如下面这样:app.get('/login',function(req,res){ res.redirect("这里是密码登陆界面"); //如果使用的直接输入地址,则让他跳到输入密码的界面。});app.post('/login',function(req,res){ res.redirect("使用post类型,则跳转到对应的页面~~~"); //如果使用的直接输入地址,则让他跳到输入密码的界面。}); 是这样的,文件存储用的是别的公司提供的,有点像阿里云的OSS,他们生成出来的地址是一个文件的真实地址(至少图片是这样的,而目前我用的功能就是图片存储),所以我没办法在用户访问这个地址的时候,限制用post方式来访问 绕了半天不又绕回来了?#1 的第二段描述已经解决了你的问题:不是你发 url 让用户打开,而是你把数据取回来返回给用户 只能这样子吗,比如java的跳转有两种方式,一种是response.sendRedirect,还有一种RequestDispatcher.forward,前者会改变浏览器地址,后者不会,其实我是想问有没有类似于java的RequestDispatcher.forward方法 RequestDispatcher.forward 的作用不就是这个吗?只不过是个封装好的 socket 应用而已如果 nodejs 没有提供封装好的方法,那就自己封装一个就是了 ajax post提交 JS如何向父窗口插入内容 发一个我的 js游戏地图编辑 IE8里面将隐藏的按钮显示后不居中了 请教一个按钮变灰的问题 JS 用javascript得到form中listbox的传值 VBscript如何判断哪一个单选框被选中了 Cookies问题!大家帮忙讨论一下!!! 请教如何用javascript排序,并且是按中文拼音的 javascript如何将一个字符串和一个变量连接起来 js clone()加载的div,怎么样获取并修改div的 id Extjs 如何获取父类的其他对象
这个功能大致是根据短网址跳转到实际的地址,比如这个地址是一个图片的地址,别人用来显示,所以不能用iframe之类的页面来嵌套
是这样的,在文件系统上传了一个文件(比如目前的功能主要是图片文件),可以生成对应的下载地址,别人可以分享,分享出去的是一个短网址。
如果这个分享是公开,那访问短网址,就会直接转到实际的下载地址。
如果这个分享是私密的,那访问短网址,会先转到一个密码输入页面,用户输入正确密码之后,再转到实际的地址。
现在的问题是,用户输入密码之后,浏览器地址跳转到实际的下载地址,然后把这个地址拷出来之后,就可以绕过密码直接访问了。
。。你这个逻辑根本就是错误的,我也做过网盘下载,要根据post的密码或者当前登陆用户权限来输出不同页面,这跟后台有关,不存在在不同的网址下载。再就是,实际的地址根本不用暴露,用户看到的都是download?id=xxxx&token=asdgwegewl类似参数的网址,依靠服务器端程序输出2进制流的。你认为下载就是给个xxx.zip的实际地址来下载么?
app.get('/login',function(req,res){
res.redirect("这里是密码登陆界面");
//如果使用的直接输入地址,则让他跳到输入密码的界面。
});
app.post('/login',function(req,res){
res.redirect("使用post类型,则跳转到对应的页面~~~");
//如果使用的直接输入地址,则让他跳到输入密码的界面。
});
#1 的第二段描述已经解决了你的问题:
不是你发 url 让用户打开,而是你把数据取回来返回给用户
只不过是个封装好的 socket 应用而已如果 nodejs 没有提供封装好的方法,那就自己封装一个就是了