Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery ajax дублирует запрос (https://javascript.ru/forum/jquery/34105-jquery-ajax-dubliruet-zapros.html)

lexx006 20.12.2012 16:27

jQuery ajax дублирует запрос
 
Вложений: 1
Всем привет!

Проблемка в следующем:
При помощи jQuery ajax я обнровляю контент на страничке, все хорошо работало, но вот теперь я обнаружил, что контент не обновляется, когда я открыл JS console в FF, то увидел, что мои ajax-запросы дублируются, с несколько видоизмененными параметрами. Похоже, что где-то стоит редирект на сайт. См. рисунок.

Сайт работает на Joomla 1.5.

Заранее пасиб!


Может топик не в тему, тогда приношу свои извинения.

ОлегА 20.12.2012 16:52

код предоставьте

lexx006 20.12.2012 17:03

var _getTranslation = "index.php?option=com_personalize&task=getTranslat ion&tmpl=component";

function getTranslation(text){

$jq.ajax({
url: _getTranslation,
dataType:'html',
async:false,
data:{
text : text
},
success: function(response){
return response;
}
});
}


Первый запрос возвращает номальный результат, а вот второй возвращает пустое значение.

lexx006 20.12.2012 17:05

все нормально работало, задействовано очень много ajax-запросов, но сейчас все поломалось и я обнаружил этот прикол...

mr_freeman 20.12.2012 18:14

может у тебя яваскрипт загружается через аякс как контент и вставляется в какой то блок? тогда точно будет дублирование

lexx006 20.12.2012 18:39

Цитата:

Сообщение от mr_freeman (Сообщение 222602)
может у тебя яваскрипт загружается через аякс как контент и вставляется в какой то блок? тогда точно будет дублирование

Не совсем понял, о чем ты говоришь. Работало все нормально, в течение полгода, никаких дублей.

ОлегА 20.12.2012 20:46

дело в том что у вас return происходит из функции ajax'a, а не самой функции getTranslation сделайте так
function getTranslation(text){
var ret = {'return', 0};
$jq.ajax({
url: _getTranslation,
dataType:'html',
async:false,
data:{
text : text
},
success: function(response){	
ret['return'] = response;
}	
});

return ret['return'];
}

lexx006 21.12.2012 11:23

"дело в том что у вас return происходит из функции ajax'a, а не самой функции getTranslation сделайте так" -
Мои извинения, но это никак не влияло на дублировние запросов. Это отдельная история. ))

Еще раз говорю, что все работало нормально, до некоторого времени.

Я нашел прчину и она НЕ в JavaScript.
Проблема была в том, что сайт на Joomla 1.5 и установлен sh404SEF. Ajax запросы дублировались только не нескольких страницах с товарами. Как оказалось, эти товары дублировались в sh404SEF. Вот отсюда и шел редирект с 301. Я удалил дубли товаров и теперь все работает. ))

Спасибо за участие! ))


Часовой пояс GMT +3, время: 15:52.