У меня есть несколько запросов ajax, связанных с несколькими элементами на моей странице - когда пользователь нажимает «Присоединить» или «Отсоединить», он отправляет запрос ajax, чтобы инициировать указанный запрос.
Если пользователь щелкает каждый элемент сразу за другим до того, как будет получен ответ AJAX предыдущего клика, для запросов после первого будет получена следующая ошибка:
Uncaught SyntaxError: Unexpected token d
При осмотре это происходит в следующих случаях:
Uncaught SyntaxError: Unexpected token d
$.ajax.success addassets.js:217
f.Callbacks.n jquery.js:2
f.Callbacks.o.fireWith jquery.js:2
w jquery.js:4
f.support.ajax.f.ajaxTransport.send.d jquery.js:4
Кто-нибудь видел эту ошибку / удалось найти обходной путь?
UPDATE:
Я перезапустил код, и похоже, что он отменяет ответы на все запросы, КРОМЕ последнего отправленного. Поэтому, если пользователь нажимает 1, 2, 3 - ошибки будут получены для 1 и 2, а ответ для 3 будет получен, как и ожидалось.
Вот мой код Ajax:
$.ajax({
url: '/editor/disconnectattachment',
cache: false,
data: datastring,
type: 'POST',
success: function( data ) {
console.log( 'received disconnect' );
var newData = JSON.parse( data );
if ( newData.Message.code != 200 ) {
var newbutton = '<input type="button" value="Detach File" class="classic detach-attachment" docid="' + docid + '" rel="' + relid + '" />';
$scope.empty().html(newbutton).find('input').uniform();;
} else {
var newbutton = '<input type="button" value="Attach File" class="attach-attachment" docid="' + docid + '" rel="' + relid + '" />';
$scope.empty().html(newbutton).find('input').uniform();;
}
}
});
});