[web-developer] - Репутация: 111
- Webmoney BL: ?
| в общем поколдовал немного, наколдовал следующее: это вот мой обработчик, в нем обработка всего текста приходящего в ответе целиком: данные просто как текст приходят.
PHP код: $('form#upload_file_book').ajaxForm({ beforeSend: function(){ status.empty(); var percentVal = '0%'; bar.width(percentVal) percent.html(percentVal); }, uploadProgress: function(event, position, total, percentComplete){ var percentVal = percentComplete + '%'; bar.width(percentVal) percent.html(percentVal); }, complete: function(xhr){ status.html(xhr.responseText); // собственно запись текста в блок на странице } });
после колдовства получается следующее: теперь у меня данные приходят в виде массива, закодированного в JSON
PHP код: $('form#upload_file_book').ajaxForm({ beforeSend: function(){ status.empty(); var percentVal = '0%'; bar.width(percentVal) percent.html(percentVal); }, uploadProgress: function(event, position, total, percentComplete){ var percentVal = percentComplete + '%'; bar.width(percentVal) percent.html(percentVal); }, complete: function(xhr){ $('.status').html(xhr.responseText); // записываем статус в 1 поле на странице, это было раньше $('#attach_id').html(xhr.responseText); // и записываем переменную, ради которой весь сыр бор в скрытый инпут } } });
после нехитрых манипуляций получаю следующее:
PHP код: $('form#upload_file_book').ajaxForm({ beforeSend: function(){ status.empty(); var percentVal = '0%'; bar.width(percentVal) percent.html(percentVal); }, uploadProgress: function(event, position, total, percentComplete){ var percentVal = percentComplete + '%'; bar.width(percentVal) percent.html(percentVal); }, complete: function(xhr){ пытаюсь разобрать JSON строку var obj = jQuery.parseJSON(xhr); if(obj.rezult=='ok'){ // тут ругается, что obj не является объектом $('.status').html(obj.status); // записываем статус в 1 поле на странице, это было раньше $('#attach_id').val(obj.attach_id); // и записываем переменную, ради которой весь сыр бор в скрытый инпут } } });
-- удалено -- про complete нашел что это такое. остался вопрос вот тут: if(obj.rezult=='ok') // на этом месте ругается, что obj не является объектом Никто не ответил, значит отвечу сам
PHP код: var obj = jQuery.parseJSON(xhr); //сюда передаваться должен полный ответ независимо от представления данных // соответственно должня быть передана вся строка: xhr.responseText // вот так: var obj = jQuery.parseJSON(xhr.responseText); // далее разбираем как обычно
Последний раз редактировалось cOAPerator; 22.08.2013 в 22:05. |