【求助】express和angular开发webapp时遇到的引导页渲染问题
发布于 8 年前 作者 springYang2015 3189 次浏览 来自 问答

新手一枚,正在学习用nodejs、express、angular(IONIC)、mysql做一个webapp,前端angular页面通过express的ejs页面引导跳转过去,但开发过程中,输入路由后,有时候是正常的,有时候又会出现ejs页面没有被渲染,直接打开成为源代码的页面样式,因此也就无法引导跳转到angular的前端页面。已经被折腾得要疯掉,始终不知道是哪里的问题,请各位大神帮忙看看哈。

1.png ———————————————————————————————— 2.png ———————————————————————————————— 3.png

6 回复

你的入口url是哪一个?

这个问题我之前也遇到过,我个人的理解是,你试图通过angular的路由来调用对应的Express的接口,所以在浏览器输入地址后Express只是返回相应的结果呈现在浏览器上,并未被渲染,这里的angular就形同虚设(不知道你懂不懂我的意思:-D~),调用接口需要angular通过http取到数据之后再进行渲染,而不是单纯的在浏览器输个链接。我的解决方法是让Express只提供接口,其他的工作都由前端来完成。

@liujavamail 我的入口url在本地测试:localhost:3001/

@TheSixth 谢谢。你说的意思我基本懂了。我一开始也是你这样做的,express只是提供单独的接口,angular用做前端,这样就没问题。但在准备部署上线的时候,由于我的webapp准备建在微信企业号里面,涉及到与企业号相关接口的通信认证,而在angular前端貌似不能直接与那些接口进行通信,会出现跨域错误(可能有方法解决, 但我不知道),因此,我又重新回到了express上,通过后端页面进行通信认证,成功后引导到angular的前端页面。在这个过程中,多次被上述问题折磨,导致目前每次打开那个入口页面,都紧张得不得了。。。。/(ㄒoㄒ)/~~

可以直接下载…检查你的响应头信息是不是正确

@springYang2015 我觉得你用cors解决跨域的问题 会比你现在这样做容易很多

回到顶部