Python web ,前端一个请求,后端返回一个 html 文件, html 里面请求了很多 js 和 css,确定都返回给前端,为什么前端页面不渲染。。网页保存在本地后再打开是可以看到渲染后的页面的,这是为什么。。求解

2017-04-28 14:42:17 +08:00
 GjriFeu
5523 次点击
所在节点    Python
15 条回复
w88975
2017-04-28 14:45:53 +08:00
看下 mime type 是不是对的
GjriFeu
2017-04-28 14:55:09 +08:00
@w88975 不怎么会前端。。刚刚查了下 mime type 是什么,但是无法定位我的代码是否存在这个问题。。
GjriFeu
2017-04-28 14:56:45 +08:00
@w88975 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 里面的设置
tumbzzc
2017-04-28 15:21:59 +08:00
F12 看请求状态
GjriFeu
2017-04-28 15:24:04 +08:00
@tumbzzc Request Method:GET
Status Code:304 Not Modified
GjriFeu
2017-04-28 15:24:40 +08:00
@tumbzzc @w88975 set_header("Content-Type", "text/html")返回时加了一句这个
tumbzzc
2017-04-28 15:26:30 +08:00
直接贴个 gist 代码吧
GjriFeu
2017-04-28 15:27:46 +08:00
@tumbzzc 什么是 gist。。
flaneurse
2017-04-28 16:01:45 +08:00
@GjriFeu 就是让你把代码放出来
GjriFeu
2017-04-28 16:14:26 +08:00
@tumbzzc @flaneurse 这是 handler 处理逻辑
if self.path_segments[0] == 'fac':
self.render('template_html/fac.html')
elif self.path_segments[0] == 'fac_files':
self.render('template_html/+self.path_segments[1]') #获取 js/css 脚本
bdbai
2017-04-28 18:19:41 +08:00
F12 再琢磨琢磨,看看控制台、DOM 那里是否正常,有没有红的请求等等。按住刷新,清空缓存刷新试试。
crisewng
2017-04-28 18:51:05 +08:00
self.render('template_html/+self.path_segments[1]') 这段你确定能拿到 js? 应该是这样子把 self.render('template_html/'+self.path_segments[1])
GjriFeu
2017-04-28 19:32:10 +08:00
@crisewng 我手打的,写错了,代码里面是这样的
scriptB0y
2017-04-28 21:42:11 +08:00
@GjriFeu 把这一部分贴出来看看

Chrome>开发者工具>Network>页面的 Response Headers
GjriFeu
2017-04-29 09:31:32 +08:00
@scriptB0y @bdbai 问题已解决,原因是 mime type 不对,js,css 都要设置 Content-Type

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/357954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX