Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает $.parseJSON (https://javascript.ru/forum/jquery/49325-ne-rabotaet-%24-parsejson.html)

VolodinAS 07.08.2014 15:27

Не работает $.parseJSON
 
Получаю ответ от сервера в формате {"param":value}, перенаправляю на функцию обработки:
function obrab(dt){
	obj = $.parseJSON(dt);
	switch(obj.stat){
		case "loadmsg":
			loadNewMsg();
		break;
		case "wait":
		break;
		case "zero":
			$('#mainmsg').html('Сообщений нет');
		break;
	}
}


Но вот что выдает консоль:
Код:

Uncaught TypeError: undefined is not a function VM3659:21
obrab VM3659:21
$.ajax.success VM3659:41
success !jquery.js:3645
onreadystatechange

и жалуется именно на строчку "obj = $.parseJSON(dt);"

Думал, может проблема в импорте скрипта (<script src="...">), но этого не может быть, потому что тогда бы не работала функция:
$(document).ready(function(){
	wMainChat = $('#mainchat').width();
	wMainWindow = $('#mainwindow').width();
	wMainRate = (wMainWindow - wMainChat) - 23;
	$('#mainrate').css('width',wMainRate);
	
	hMainChat = $('#mainchat').height();
	hMainForm = $('#mainform').height();
	hMainMsg = (hMainChat - hMainForm) - 27;
	$('#mainmsg').css('height',hMainMsg);
	
	wMainForm = $('#mainform').width();
	$('#msg').css('width',wMainForm)
	$('#msg').css('height',hMainForm);
	
	checkNewMessanges();
});


и даже она:

function checkNewMessanges(){
	$.ajax({
		type: "POST",
		url: "PHP_chatCounts.php",
		data: 'vk_id=<?=$vk_id?>',
		success: function(answer){
			//obrab(answer);
			//alert(answer);
		}
	});
	checkNewMessangesID = setTimeout(function(){checkNewMessanges()},5000);
}


И поэтому я даже не знаю, что не так... Помогите, будьте добры

Rise 08.08.2014 02:38

VolodinAS, ответ уже преобразован к объекту (это $.parseJSON(dt) лишнее)

VolodinAS 08.08.2014 14:12

Цитата:

Сообщение от Rise (Сообщение 324877)
VolodinAS, ответ уже преобразован к объекту (это $.parseJSON(dt) лишнее)

Хм, хорошо, спасибо, попробую

devote 08.08.2014 14:45

Цитата:

Сообщение от Rise
VolodinAS, ответ уже преобразован к объекту (это $.parseJSON(dt) лишнее)

только если добавлен параметр dataType: 'json' иначе вернет просто текст

VolodinAS 08.08.2014 17:11

Цитата:

Сообщение от devote (Сообщение 324937)
только если добавлен параметр dataType: 'json' иначе вернет просто текст

Да, сейчас и это попробую, потому что предыдущее сообщение не решило проблему.

VolodinAS 08.08.2014 17:20

Цитата:

Сообщение от devote (Сообщение 324937)
только если добавлен параметр dataType: 'json' иначе вернет просто текст

Спасибо, сработало. А я и забыл про этот dataType....


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