Заполнение страниц с использованием данных ajax в jquery-mobile не всегда работает

Заимствование, немного улучшающее и упрощающее из этот пост в блоге , выглядит следующим образом: g1]

SELECT DISTINCT (:val) "Search Value", TABLE_NAME "Table", COLUMN_NAME "Column"
FROM cols,
     TABLE (XMLSEQUENCE (DBMS_XMLGEN.GETXMLTYPE(
       'SELECT "' || COLUMN_NAME || '" FROM "' || TABLE_NAME || '" WHERE UPPER("'
       || COLUMN_NAME || '") LIKE UPPER(''%' || :val || '%'')' ).EXTRACT ('ROWSET/ROW/*')))
ORDER BY "Table";

0
задан Judson 17 January 2019 в 19:00
поделиться

1 ответ

Вы пропустили, чтобы показать нам самую важную часть вашего кода. Было бы намного проще проанализировать ваш код, если бы вы также включили раздел $ .ajax.

Я хотел бы предположить два возможных решения, а также я думаю, что оба эти решения переплетены в вашем случае.

  • Процесс Ajax имеет асинхронный характер, что означает, что остальная часть кода не будет ждать его завершения. Это может быть причиной, почему вы иногда видите свой новый контент, а иногда нет. Вероятно, это связано со скоростью вызова AJAX.

Вы пытались сделать это так:

$.ajax({
  url: "YOUR ENDPOINT"
}).done(function(html) {
  $('#member-profile').hide().empty().html(html).fadeIn();
});

Таким образом, контент будет очищен / заполнен только тогда, когда он будет получен.

  • Вторая возможность - это событие самой выставки. В зависимости от скорости, jQuery Mobile может иметь или не иметь времени для предварительного отображения нового HTML-контента и его показа. Если это так, лучше использовать событие pagebeforecreate или pagecreate. Или pageinit, если вы используете более ранние события jQuery Mobile.
0
ответ дан Gajotres 17 January 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: