我在以下路线的localhost上有一个项目:
我目前通过javascript将数据发布到应用程序:
// Centralised, referenced from each javascript file:
var baseUrl = 'http://127.0.0.1/projects/PROJECT_NAME/web/app_dev.php';
// The signup post URL is generated like this:
var postUrl: baseUrl + "/signup",
这适用于localhost上的所有文件。
问题:
道歉,如果这是一个明显的,但我目前只在localhost上工作。欢迎任何建议。 Symfony 3应用程序,XAMPP服务器,OSX。
编辑:
使用$ .ajax向服务器发帖。
答案 0 :(得分:1)
我强烈建议您为项目创建一个虚拟主机,并将其webroot设置为项目的Web文件夹,然后从那里访问您的项目。
这是一个关于如何在xampp中为macOS执行此操作的精彩教程: http://jonathannicol.com/blog/2012/03/11/configuring-virtualhosts-in-xampp-on-mac/
即:http://myproject.local
这样,您只需撰写var postURL: "/signup"
即可在您的本地环境中将http://myproject.local/signup
视为http://myprojectlive.com/signup
或在您的实际环境中wikipedia
来访问您的网址。
这样你就可以节省很多配置和编码麻烦。
答案 1 :(得分:1)
当项目上线时,localhost URL绝对不起作用。
您应该做的是在构建过程中使用开发中的localhost URL并在站点生效时插入生产URL。
例如,使用Webpack,你可以在开发中做这样的事情:
module.exports = {
URL: '"http://127.0.0.1"'
}
这在生产中:
module.exports = merge(devEnv, {
URL: '"http://example.com"'
})
然后你会导入该变量,并可能将其分配给更简洁和描述性的东西,如下所示:
const baseUrl = process.env.URL
完成此操作后,您现在可以通过连接它来使用变量来处理请求,例如,使用如下的子目录:
`${baseUrl}/projects/PROJECT_NAME/web/app_dev.php`