我有一些关于开发和生产的网站,由以下文件夹分隔: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 上处理这个问题?
我有一些关于开发和生产的网站,由以下文件夹分隔: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 上处理这个问题?
您可以声明一个函数,该函数根据调用页面的位置返回文件夹路径,例如
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'