Ну, я бы хотел проверить ответ с сервера каждые 5 секунд. Но моя функция успеха внутри $ .ajax просто не работает. Хотя ajax отправляет запросы и получает ответ. Ограничение по времени не превышено, так как функция запускается каждые 5 секунд, и ответ принимается в течение 1 секунды. Если я поставил что-то внутри функции checkMyCreatedGame после $ .ajax, он работает, но функция успеха не работает.Функция успеха в ajax при использовании setInterval не работает
var checkMyGame;
checkMyGame =setInterval(checkMyCreatedGame,5000);
var checkMyCreatedGame = function(){
$.ajax({
url :'../cgi-bin/lobby.py',
type :"GET",
cache :false,
data {
"checkMyGameId":createdGameId,
"player":playerName
},
dataType:"json",
success:function(jsonData){
console.log(jsonData)
}
});
};
Вот мои Firebug журналы консоли, когда я запускаю этот код (не обращайте внимание на то, что выше, чем получает):
Здесь же скриншот, но их размер не меняется на StackOverflow: http://s2.ipicture.ru/uploads/20131116/zA85WpvL.png As вы можете видеть, что функция console.log внутри успеха не выполняется.
Потому что вы говорите, что jQuery ожидает JSON, а затем отправляет простой текст? – lonesomeday
@lonesomeday: Нет, 'dataType:" json "' это то, что вы ожидаете от сервера, а не то, что вы отправляете на сервер. Я думаю, что код на стороне сервера имеет ошибку и 'success' не вызывается. Если он предоставляет функцию 'error', эту функцию можно вызвать. –
Редактирование кода, я заметил, что у вас есть синтаксические ошибки, такие как отсутствие параметра ':' в параметре данных и т. Д. – adeneo