Я совершенно новичок в JS и jQuery.
У меня проблема с доступом к свойствам объекта, возвращенного методом jQuery ajax.
Как вы можете видеть из приведенного ниже кода, я пытаюсь использовать свойства объекта 'data' в функции обратного вызова success для создания строки таблицы, которую затем пытаюсь добавить в таблицу.
$('#add_comp').submit(function(){
var startDate = $('#form_startDate').val();
var initPrize = $('#form_init_prize').val();
var active = $('#form_active').val();
var dataString = 'startDate=' + startDate + '&startPrize=' + initPrize + '&active=' + active;
$.ajax({
type: 'POST',
url: "/admin/competition/add-competition",
data: dataString,
success: function(data, textStatus, xhr){
console.log(data);
console.log(data.startDate);
console.log(data[startDate]);
console.log(data['startDate']);
var tr = '\n\
'+ data["startDate"] +'\n\
'+ data.active +'\n\
'+ data.currentPrize +'\n\
';
$('#competition_table').find('tr:last').after(tr);
},
error: function(){
alert('There has been an error, please consult the application developer.');
}
});
Функция успеха немного запутана, так как я пытаюсь использовать различные способы доступа к свойствам объекта данных.
Первая строка console.log (data) возвращает следующее в консоли firebugs:
{"competitionId":null,"startDate":"08\/02\/2010","endDate":null,"winner":null,"participantPool":"4c6729aa8c8fb","active":1,"startPrize":"350","currentPrize":"350"}
Это подтверждает, что объект данных существует и имеет правильные свойства.
Полагаю, я должен иметь возможность доступа к отдельным свойствам, используя data.propertyName, однако все последующие вызовы console.log () возвращают undefined.
Как правильно получить доступ к этим свойствам и использовать их для построения строки таблицы?