Javascript JQuery:对同一PHP页面的多个get()请求
我对JavaScript+JQuery中调用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()
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行。更具可读性