Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Парсинг JSON (https://javascript.ru/forum/jquery/40469-parsing-json.html)

EpHigh 07.08.2013 00:45

Парсинг JSON
 
Собственно нужно проверить корректность регистрации на стороннем сайте, что делается вызовом страницы которая возвращает ответ в формате JSON. Т.е. если от страницы http://p1.woniu.com/portal/accountinfo?jsoncallback=? поступил ответ в виде
Код:

?({"msgcode":-1,"message":"\u672a\u767b\u5f55!"})
(тут message всегда тот же), то нужно сообщить пользователю что все плохо, а если в виде:
Код:

?({"msgcode":1,"message":{"account":"ACCOUNTNAMEHERE","isemailauthed":null,"ismobileauthed":"0","antiaddiction":"3","viplevel":0,"vipgamename":"\u65e0","vipgameid":0}})
Сказать что все хорошо и поблагодарить за регистрацию через alert, а еще лучше еще и упомянуть значение переменной account.
На JS пишу первый раз, тапками сильно не бейте. Получилось вот что:
$.ajax({
		type: "GET",
		url: "http://p1.woniu.com/portal/accountinfo?jsoncallback=?",
		async: false,
		success: function(json) {
if(json.message == '\u672a\u767b\u5f55!'){
			alert('Регистрация прошла неудачно.')
			return false;
}
else
{
			alert('Регистрация прошла успешно.')
			return false;
}
			},
		dataType:'json'
		});
}

Ну и, как ожидалось, не работает. ЧЯДНТ? :help:

EpHigh 07.08.2013 00:58

Основная проблема решена, все работает.
Но вот упомянуть account в alert все равно не выходит.
function redalert() {
			$.ajax({
		type: "GET",
		url: "http://p1.woniu.com/portal/accountinfo?jsoncallback=?",
		async: false,
		success: function(json) {
if(json.message == '\u672a\u767b\u5f55!'){
			alert('Регистрация прошла неудачно.')
			return false;
}
else
{
			alert('Спасибо за регистрацию, '+ json.account +'!')
			return false;
}
			},
		dataType:'json'
		});
}


Возвращает "Спасибо за регистрацию, undefined!"

рони 07.08.2013 01:05

EpHigh,
а 18 строка зачема? в 1 посте

рони 07.08.2013 01:08

EpHigh,
json.message.account

EpHigh 07.08.2013 01:43

Цитата:

Сообщение от рони (Сообщение 266179)
EpHigh,
а 18 строка зачема? в 1 посте

Закрытие родительской функции. Случайно скопировал.

Цитата:

Сообщение от рони (Сообщение 266180)
EpHigh,
json.message.account

Спасибо, работает :D Тему можно закрывать.


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