Javascript JQuery:对同一PHP页面的多个get()请求

Javascript JQuery:对同一PHP页面的多个get()请求,javascript,jquery,ajax,get,Javascript,Jquery,Ajax,Get,我对JavaScript+JQuery中调用GET请求的一个方法表示怀疑 我的代码是这样的: function LoadProducts(){ $.get('php/get.php',{id:100},function(){ //... }); } function LoadUser(){ $.get('php/get.php',{id:101},function(){ //... }); } function LoadThis()

我对JavaScript+JQuery中调用GET请求的一个方法表示怀疑

我的代码是这样的:

function LoadProducts(){
    $.get('php/get.php',{id:100},function(){
        //...
    });
}
function LoadUser(){
    $.get('php/get.php',{id:101},function(){
        //...
    });
}
function LoadThis(){
    $.get('php/get.php',{id:100},function(){
        //...
    });
}
function LoadThat(){
    $.get('php/get.php',{id:100},function(){
        //...
    });
}

//...... And so on, and so on
GetIt(0,{page:25},function(result){
    // do stuff
});

问题

我想制作一个简短版本的
$.get()
函数,因为还有大约50个函数,我不想每次都写
'php/get.php'
(当此文件的名称不同时,我也需要将其更改50次…)

所以,我写了这段代码:

function GetIt(mode,options,func)           {
    var req = '';
    switch(mode)
    {
        case 0:
            req = 'php/get.php';
        break;
        case 1:

        break;
    }
    $.get(req,options,function(result){func(result);});
}
我是这样使用它的:

function LoadProducts(){
    $.get('php/get.php',{id:100},function(){
        //...
    });
}
function LoadUser(){
    $.get('php/get.php',{id:101},function(){
        //...
    });
}
function LoadThis(){
    $.get('php/get.php',{id:100},function(){
        //...
    });
}
function LoadThat(){
    $.get('php/get.php',{id:100},function(){
        //...
    });
}

//...... And so on, and so on
GetIt(0,{page:25},function(result){
    // do stuff
});
最好将0(作为模式设置为
GetIt()
)设置50次,而不是
'php/get.php'
50次


问题


这是个好办法吗?要优化代码并保留
$.get()
的功能,而不必多次编写相同的代码,最好的选择是什么?

为您的请求创建一个抽象是一个好主意是的,但我不理解
模式
参数的用途。如果它不是
0
,您将请求
'
,这是故意的吗?@MikaelLennholm模式用于需要请求其他页面的情况,例如
'php/get_config.php'
或类似的内容。目前,我只有1页,但在未来可能会有更多。这不是很重要。在这种情况下,我会为其他页面创建单独的抽象函数,例如
函数GetIt(options,callback)
用于
'php/get.php'
函数GetConfig(options,callback)
用于
'php/get_config.php'
函数(result){func(result)}
@MikaelLennholm是的,也许这样做也不错。我现在在想,我可以将
开关()
替换为
数组
。像这样
var arr=['php/get.php','php/get\u config.php']
然后像
arr[mode]
那样调用它。现在更短了。。GetIt()现在只有2行,而不是11行。更具可读性