Javascript 在JS中处理生产和开发的路径/链接
我有一些关于开发和生产的网站,它们之间用文件夹隔开,比如:localhost/demo1 localhost/demo2..demo3等等 问题是我的JS。每次部署它们时,我都必须更改JS文件上的一些路径,特别是使用AJAX的路径 假设以下代码是jquery ajax中的URL参数:Javascript 在JS中处理生产和开发的路径/链接,javascript,path,relative-path,web-deployment,Javascript,Path,Relative Path,Web Deployment,我有一些关于开发和生产的网站,它们之间用文件夹隔开,比如: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上处理此问题?您可以声明一个函数,根据调用页的位置
//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'
kevmc,很抱歉迟到了,我检查了一下,忘了给你正确的答案。我想应该是
文件夹[1]
。对我来说,folders=[“”、“demo”、…]
。