从浏览器访问前端SPA链接时,后端会发现没有路由

时间:2017-01-21 18:13:59

标签: javascript reactjs elixir phoenix-framework

我有一个用JS(ReactJS)编写的工作前端单页面应用程序,以及凤凰城(Elixir)的后端工作。只要导航在应用程序中发生,一切都很好。但是,当我尝试从浏览器访问SPA中的页面时,我收到来自Phoenix的路由错误。例如:

no route found for GET /search (PhoenixApp.Router)

是我从浏览器访问http://localhost:4000/search时获得的。

当我从SPA内的导航中访问http://localhost:4000/search时,我从ReactJS获得了一个工作页面。

所以我的问题是:如何让ReactJS获取页面,而不是Phoenix?

1 个答案:

答案 0 :(得分:1)

为单页应用程序执行此操作的标准方法是在每个GET路由上提供与在/上提供服务完全相同的内容。您可以将通配符GET路由添加到Phoenix路由器,并将其指向与/的路由相同的路径。如果从/的{​​{1}}函数提供PageController,则应添加:

index