Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Передача смешанного массива из php в js (https://javascript.ru/forum/server/38367-peredacha-smeshannogo-massiva-iz-php-v-js.html)

Daiver 29.05.2013 23:25

Цитата:

Сообщение от oneguy (Сообщение 253473)
Вы забыли использовать JSON.parse для декодировки JSON на клиенте.
var result = JSON.parse(xmlhttp.responseText);
alert(result.class_name); // должно работать

Заработало! :dance: Ура! Спасибо большое. Тему можно закрывать.

quirksmode 30.05.2013 18:50

используй кодировку везде utf-8 и будет тебе счастье

MiksIr 30.05.2013 21:55

В php 5.3 у json_encode появились опции, в том числе JSON_UNESCAPED_UNICODE - для передачи русских букв как есть, без ескейп-последовательностей.

animhotep 31.05.2013 10:11

Цитата:

Сообщение от Daiver
Это jquery. А без этого не судьба решить проблему?

посмотрел кстали что там внутни - JSON.parse только доп с проверками

parseJSON: function( data ) {
		// Attempt to parse using the native JSON parser first
		if ( window.JSON && window.JSON.parse ) {
			return window.JSON.parse( data );
		}

		if ( data === null ) {
			return data;
		}

		if ( typeof data === "string" ) {

			// Make sure leading/trailing whitespace is removed (IE can't handle it)
			data = jQuery.trim( data );

			if ( data ) {
				// Make sure the incoming data is actual JSON
				// Logic borrowed from [url]http://json.org/json2.js[/url]
				if ( rvalidchars.test( data.replace( rvalidescape, "@" )
					.replace( rvalidtokens, "]" )
					.replace( rvalidbraces, "")) ) {

					return ( new Function( "return " + data ) )();
				}
			}
		}

		jQuery.error( "Invalid JSON: " + data );
	},


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