1

我有一些关于开发和生产的网站,由以下文件夹分隔: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 上处理这个问题?

4

1 回答 1

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'
于 2013-07-16T00:36:03.970 回答