У меня есть недостаток в коде, и я немного запутался.
$.ajax({
type: 'POST',
url: '/contact/index/add/',
data: $("#addContact").serialize(),
success: function(data, status, xhttp) {
var response = eval ("[" + data + "]");
console.log(response.msg);
if ( response.success ){
console.log( response.msg );
} else {
console.log( response.msg );
}
},
dataType: "html"
});
Я ищу ответ, чтобы получить доступ к массиву (закодированному в формате JSON), однако в строке console.log (response.msg) я получаю 'undefined'
Если я console.log (ответ), он показывает (в firebug) как:
[Object {success = true, msg = "test"}]
Запрос отправляет обратно следующую строку:
{ "Успех": правда, "сообщение": "тест"}
Вот почему я должен заключить ответ в [] для eval.
Так что меня смущает то, как мне получить доступ к свойствам указанного массива.
Серверная часть у меня (php / zend framework)
echo Zend_Json_Encoder :: encode (array ('success' => true, 'msg' => 'test')); выход;
Что мне нужно сделать, чтобы получить доступ к ключу / значениям массива, как в строке
if( response.success ) { // do something }
Нужно ли изменять сторону сервера или JavaScript?