Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.11.2014, 09:13
Новичок на форуме
Отправить личное сообщение для OldSergo Посмотреть профиль Найти все сообщения от OldSergo
 
Регистрация: 08.11.2014
Сообщений: 7

Зависает сервер.
Вообщем такая проблема. Есть jquery скрипт, который составляет массив, потому отправляет этот массив на обработчик. Сам обработчик обрабатывает этот массив и составляет INSERT запрос в базу, по такому типу:
INSERT (item1, item2) VALUES ('1','1');
Так вот, всё вроде бы и работает, но когда это всё происходит сервер вообще не отвечает, тоесть на страницы зайти нельзя. И это происходит, пока он не добавит всё это в базу.
Я думаю, что может есть какая нибудь многозадачность в jquery? Просто я новичок в этом, и не знаю все возможности jquery.
Вот код:
var ars = [];
                $(document).ready(function() {
                    
                    var load_url = "ajax/sell";
                    jQuery.ajax(load_url).done(function(data) {
                            data = JSON.parse(data);
                            $.each(data, function(i, item) {
                                $('#myitems').append('<div class="fa-hover col-md-3 col-sm-2" data-id="'+item.item_classid+'"><div class="box"><a href="" title="'+item.item_name+'" class="myitem" style="background: url('+item.item_img+') 50% 50% / auto 100% no-repeat;"></a></div></div>');
                            });
                    }).always(function() {
                        jQuery("#load").hide();
                    });
                    $('#sell').click(function(){
                        jQuery("#loadinv").show();
                        jQuery.ajax("ajax/getinv").done(function(data) {
                            data = JSON.parse(data);
                            if(!data.success) {
                                alert('Ошибка!');
                                jQuery("#loadinv").hide();
                            }
                             $.each(data['rgInventory'], function(i) {
                                ars.push(data['rgInventory'][i]['classid']);
                            });
								console.log(ars);
                             $.ajax({
                                 url: 'ajax/insert',
                                 type: 'POST',
                                 data: {ars: ars},
                                 success: function(data) {
								 console.log(data);
                                 }    
                              });
                              
                        $("#myModal").modal();
                    });
                    });
                });//ready
Ответить с цитированием
  #2 (permalink)  
Старый 08.11.2014, 09:52
Аспирант
Отправить личное сообщение для voral Посмотреть профиль Найти все сообщения от voral
 
Регистрация: 03.10.2014
Сообщений: 67

Если не отвечает сервер то jquery тут не причем совсем. Jquery (как и весь javascript) работает на стороне клиента.

Единственное, что может быть плохого на стороне javascript. Это вы данные отправляете не одной командой. А начинаете доссить сервер серией команд.

Если уходит одна команда, а ответ от нее очень долго не приходит. И на другие запросы сервер перестает отвечать. Ищите проблему в обработчике на стороне сервера.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сервер на nodejs отклоняет слишком частые запросы imissyouso AJAX и COMET 0 16.02.2014 18:41
Передача данных на другой сервер особым способом ditasandditas AJAX и COMET 4 11.10.2011 16:19
Проблема с загрузкой файла на сервер shkarbatov Серверные языки и технологии 8 13.08.2011 00:27
Отправка файла на сервер асинхронно DDestroy Internet Explorer 0 09.03.2011 11:10