我有两个Ajax请求,我希望将它们组合成一个。我正在使用$.ajax()
而另一个使用$.get()
时无法确定如何执行此操作。
由于我对Ajax很新,这让我感到非常痛苦。如果你能提供帮助,我将非常感激。
Ajax请求#1
$.ajax
({
type: "GET",
url: "new_arrivals_data.php",
data: "page="+page,
success: function(msg)
{
$("#gallery_container").ajaxComplete(function(event, request, settings)
{
gallery_show();
loading_hide();
$("#gallery_container").html(msg);
});
}
});
Ajax请求#2
$.get("new_arrivals_data.php",{imgs: value}, function(data){
$("#gallery_container").html(data);
});
感谢您提供的任何帮助。
答案 0 :(得分:2)
他们实际上都是GET $.get
是$.ajax({ type:'GET'
的简写。
因此,根据您服务器的响应,将它们组合可能会起作用:
$.ajax
({
type: "GET",
url: "new_arrivals_data.php",
data: {page:page, imgs: value},
success: function(msg)
{
gallery_show();
loading_hide();
$("#gallery_container").html(msg);
}
});
答案 1 :(得分:2)
不确定您在寻找什么,但Ajax请求#2相当于:
$.ajax({
type: 'GET',
url: "get_images.php",
data: {imgs: value},
success: function(data){
$("#imgTray").html(data);
}
});
希望这有帮助。
答案 2 :(得分:2)
您不能只是“合并”请求 - 您仍然需要对这些网址中的每一个发出两个单独的请求。因为默认情况下,ajax请求是异步的,所以你几乎可以同时触发它们(如果一个不依赖于另一个。正如marko在注释中指出的那样,如果它们 依赖,你可以强迫请求是同步的。$.ajax
具有async
属性。)。
if(condition){
makeRequest1();
makeRequest2();
}
同样$.get()
只是$.ajax()
的便捷方法,其中预设了某些选项(例如使用GET
作为请求类型)。