将ajax请求发送到位于公用文件夹上方的服务器

时间:2018-03-05 19:52:30

标签: php apache reactjs webpack

我正在使用React(与Webpack捆绑)和PHP(Apache配置为将所有请求重定向到公用文件夹)启动全栈项目。 我不希望API位于不同的主机上,而是让它位于同一个项目中,高于公共文件夹(与React的src文件夹一起)。

问题是,我不知道如何在我的AJAX请求中使用相对路径,因为React项目的根实际上是公共文件夹。

例如,假设我在公共文件夹上方有一个“api”文件夹,我从React执行此请求:

fetch('/api/product/1/edit') 

我会得到一个404错误,因为根被解释为公共文件夹,所以ajax实际上会转到/public/api/product/1/edit,这当然不存在。

显然我可以使用绝对路径(比如“http://localhost/project/api/product/1/edit”),但这会强制我创建一些环境变量,以区分localhost和生产服务器,并且这个选项不可取。此外,我不会选择将“api”文件夹保留在公共文件夹中,因为它会破坏公共文件夹的整个目的。

如何解决这个问题?

0 个答案:

没有答案