Запросы JQuery перекрываются в Google Appengine - PullRequest
0 голосов
/ 13 января 2012

Привет! У меня динамически добавленные функции, например, добавление клиента в список клиентов отображается при наведении мышив него добавлен новый элемент списка, и как только пользователь щелкает по нему, появляется текстовое поле, и как только пользователь вводит допустимый контент, он добавляет вновь введенный элемент в список, сохраняет его и отображает вновь добавленную вещь с галочкой.и когда пользователь нажимает на уже отмеченный элемент, он удаляется из списка.

когда я реализую эту функцию локально, мы можем добавить клиента во многие списки с одной попытки.но когда я загружаю приложение и пробую его, оно сохраняет новую группу клиентов, но когда я пытаюсь добавить больше из одного снимка, добавляется только последний.ранее добавленный ключ клиента идет с запросом.если ключ клиента уже доступен, он удаляет клиента из группы, которая уже добавлена.это больше похоже на список друзей в Facebook, который вы можете найти на странице друзей, мы можем добавлять друзей в разные списки.

есть ли способ синхронизации запросов jquery ajax.Может ли кто-нибудь помочь?

$('.newcustomerlist').live("keypress",function (event) {
    var element_id = $('.custitem').attr('id');
    var customer_key = null;
    var url_key = null;
    if (element_id != null) {
        customer_key  = element_id.split('#')[0]
        url_key = element_id.split('#')[1]
    } else {
        url_key = $(this).attr("id");
    }

    if(event.which == '13') {
        var cust_list_name = $(this).val().trim();
        var val = (/^[a-zA-Z ]*[-a-zA-Z0-9_ ]+$/).test(cust_list_name);
        if(val){
            $.ajax({
                type : "GET",
                url : "/addcustomerfromhere/",
                data : "cust_list_name=" + cust_list_name,
                success : function (msg) {
                    new_customer_key  = msg.customer_key ;
                    $.ajax({
                        type : "GET",
                        url : "/addcustomertolist/",
                        data : "url_key=" + url_key + "&customer_key =" + new_customer_key ,
                        success : function (data) {
                            $("ul.custlist").prepend("<li id="+ new_customer_key  + "#"+ url_key + " class='custitem addedtocust'><span>" + msg.cust_list_name + "</span></li>");
                            $(".title").show();
                        },
                        error : function (XMLHttpRequest, textStatus, errorThrown) {
                            $.notify({message: 'Apologies. Our servers are busy at this moment. Please try again later.', type: 'error'});
                        }
                    });
                },
                error : function (XMLHttpRequest, textStatus, errorThrown) {
                    $.notify({message: 'Apologies. Our servers are busy at this moment. Please try again later.', type: 'error'});
                }
            });
        $(".addnew").show()
        $(".newtext").hide()
        } else {

        }
    }
});

1 Ответ

1 голос
/ 13 января 2012

Вы можете добавить это к опциям ajax:

async:false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...