我有一些关于开发和生产的网站由文件夹分隔,例如:localhost / demo1 localhost / demo2..demo3等等。
问题是我的JS。每次我部署它们时,我都要改变JS文件的一些路径,特别是那些使用AJAX的路径。
假设下面的代码是jquery ajax中的URL参数:
//on dev:
url: '/demo1/some-action.php'
//on prod:
url: '/some-action.php'
你如何在JS上处理这个问题?
答案 0 :(得分:2)
您可以声明一个函数,该函数根据调用页面的位置返回文件夹路径
之类的东西function sitePath(){
if(this.result!=undefined){
// we have already tested so return the stored value
return this.result
}
var folders=window.location.pathname.split('/');
if(folders.length && folders[0].indexOf('demo')==0){
// we are inside a demo folder so return and store the demo folder name
return this.result='/' + folders[0];
}else{
// we are in the production environment so store an empty string
return this.result = '';
}
}
然后在您的代码中使用:
url: sitePath()+'/some-action.php'