Объединение запросов jQuery Ajax - PullRequest
0 голосов
/ 21 августа 2011

У меня есть два 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);
});

Спасибо за любую помощь, которую вы можете предложить.

Ответы [ 3 ]

2 голосов
/ 21 августа 2011

Не уверен, что вы ищете, но Ajax Request # 2 эквивалентен:

$.ajax({
    type: 'GET',
    url: "get_images.php",
    data: {imgs: value},
    success: function(data){
        $("#imgTray").html(data);
    }
});

Надеюсь, это поможет.

2 голосов
/ 21 августа 2011

Вы не можете просто «объединить» запросы - вам все равно нужно будет сделать два отдельных запроса для каждого из этих URL-адресов.Поскольку по умолчанию запросы ajax являются асинхронными, вы можете запускать их оба почти одновременно (если один не зависит от другого. Как отмечает Марко в комментариях, если они зависят , вы можете принудительно вызватьзапросы должны быть синхронными. $.ajax имеет свойство async.).

if(condition){
    makeRequest1();
    makeRequest2();
}

Также $.get() - это просто удобный метод для $.ajax() с предустановленными некоторыми параметрами (например, используя GET в качестве типа запроса).

2 голосов
/ 21 августа 2011

Они на самом деле оба 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);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...