Javascript函数根据URL加载不同的config.json文件

Javascript函数根据URL加载不同的config.json文件,javascript,php,ajax,json,Javascript,Php,Ajax,Json,我有一个移动网站,它使用以下javascipt加载config.json文件: $.ajax({ type:'GET', url: '/config.json', contentType: 'plain/text; charset=UTF-8', dataType: 'json', success: function(data){ }, error: function(jqXHR,

我有一个移动网站,它使用以下javascipt加载config.json文件:

$.ajax({
        type:'GET',
        url: '/config.json',
        contentType: 'plain/text; charset=UTF-8',
        dataType: 'json',
        success: function(data){

        },
        error: function(jqXHR, textStatus, errorThrown){

        },
        complete: function(jqXHR, textStatus){

            initConfig($.parseJSON(jqXHR.responseText));
        }
    });

我希望能够根据环境加载不同的config.json文件。例如,qa.site.com、staging.site.com和www.site.com。目前javascript只加载一个文件,其内容只能是qa.site.com、staging.site.com或www.site.com。如何修改现有代码以适应所有三种环境?

在充分利用它之后,我找到了答案:

function getConfigFile() {
    switch (window.location.host.split(':')[0]) {
        case 'qa.site.com':
            return 'config-1.json';
        case 'www.site.com':
        case 'site.com': // optional, remove if incorrect
            return 'config-2.json';
        default:
            return 'config-default.json';
    }
}

$.ajax({
   // ...
   url: getConfigFile(),
   // ...
});
// Check URL address and set appropriate config.json file 
    var whichjson = (window.location.host);
    var configurl = '';

    function getConfigFile(configurl) {
    switch (whichjson) {
        case 'qa.site.com':
            var configurl = '/config-qa.json';
            return configurl;
            break;
        case 'staging.site.com':
            var configurl = '/config-stg.json';
            return configurl;
            break;
        default:
            var configurl = '/config-default.json';
            return configurl;
            break;
         }
    }

    // _request('/config.json', 'getLocalData', 'POST', '/', initConfig, false);
    $.ajax({
        type:'GET',
        url: getConfigFile(),
        contentType: 'plain/text; charset=UTF-8',
        dataType: 'json',
        success: function(data){
        },
        error: function(jqXHR, textStatus, errorThrown){
        },
        complete: function(jqXHR, textStatus){
            initConfig($.parseJSON(jqXHR.responseText));
        }

    }
    );

因为您提供的URL是相对的(忽略域),所以您的请求将始终从与您正在运行的页面相同的域中提取文件。如果你想发出跨域请求,那完全是“另一罐蠕虫”。@MikeEdwards-你知道如何处理这些蠕虫吗?你能更具体地说明你的情况吗?根据您的用例,有多种XSS方法。您从哪个网站加载页面?要选择config.json,您要检查什么条件?