#javascript #php #json #ajax #codeigniter
Вопрос:
Я использую фреймворк Codeigniter для сохранения и извлечения данных из базы данных MYSQL. У меня действительно есть такая проблема.
Такое случается только время от времени.
Процесс заключается в сохранении некоторых данных таблицы, их извлечении и отображении с обновлением страницы. Все идет хорошо, все данные сохраняются в базе данных. Но время от времени, когда страница обновляется и загружает данные, некоторые данные не отображаются и поставляются с пустыми данными следующим образом.
результат: «»
Но данные есть в базе данных.
Когда я перезагружаюсь снова, недостающие данные отображаются правильно. Это происходит со мной на локальном сервере и производственном хостинге. Но не каждый раз, не одни и те же данные. Отсутствующий элемент данных появляется на странице пустым. Ничего не меняя, если я перезагрузлю данные страницы, все будет работать нормально. В чем может быть причина этого?
$.ajax({ url:"lt;?php echo base_url('index.php/Lab/resulting'); ?gt;", data:{bill_no:bill_no}, method:"GET", dataType:"JSON", success:function(data){ var result_area =""; for(var count = 0; count lt; data.length; count ) { var element_id = data[count].element_id; var ct = 'select' count ''; var bt = count; var result = 'result' count '' /* $('#data_table_one tbody').append( 'lt;trgt;' 'lt;td style=" vertical-align: middle;white-space: nowrap; text-align: center;"gt;' (count 1) 'lt;/tdgt;' 'lt;td id="reult_id' count '" style="display:none" name="reult_name' count '"gt;' data[count].billing_element_result_id 'lt;/tdgt;' 'lt;td id="bill_no' count '" style=" vertical-align: middle;white-space: nowrap;text-align: center;"gt;' data[count].bill_no 'lt;/tdgt;' 'lt;td style="display:none"gt;' data[count].processor_id 'lt;/tdgt;' 'lt;td style=" vertical-align: middle;"gt;' data[count].test_processor_display_name 'lt;/tdgt;' 'lt;td style=" vertical-align: middle;white-space: nowrap;"gt;' data[count].test_details 'lt;/tdgt;' 'lt;td id="result' count '" style=" vertical-align: middle;white-space: pre;text-align: center;"gt;' data[count].result 'lt;/tdgt;' 'lt;td id="' count '" class="result_enter_cell" contenteditable=true style=" vertical-align: middle;white-space: pre;text-align: center;"gt;lt;select class="form-control input-sm text-left " id="select' count '" style="display:none"gt;lt;/selectgt;lt;/tdgt;' (data[count].by_calculation ==1 ? 'lt;tdgt;lt;/tdgt;' : 'lt;td id="button1' count '" style=" vertical-align: middle;white-space: nowrap;text-align: center;"gt;lt;button type="button" name="add_btn" id="add_result' count '" class="btn btn-xs btn-success btn_set_result btn-sm"gt;Set Resultlt;/tdgt;' ) 'lt;/trgt;' );
Контроллер возвращает извлеченные данные в виде json_encode
Комментарии:
1. Откройте консоль разработчика в своем браузере и проверьте вкладку «Сеть» на наличие запросов, убедившись, что вкладка открыта, прежде чем вы столкнетесь с этой ошибкой. Что-то в данных, вероятно, вызывает ошибку в вашем PHP-скрипте, либо возвращая просто ошибку, либо неверный JSON, поэтому javascript не может проанализировать ответ и ничего не может отобразить. Найдите запрос на вкладке Сеть и проверьте текст ответа, и вы, вероятно, найдете сообщение об ошибке, которое поможет вам диагностировать проблему.
2. @404NotFound в консоли нет ошибки. потеря ответа-это пустой резонанс, как я упоминал выше.
3. более того, это происходит не всегда. Только изредка. если страница перезагружена, все работает нормально
4. Я просто добавил небольшую задержку для обновления и извлечения. Проблема больше не возникала. Спасибо всем за помощь.