Использование $ .mobile.changePage и передача данных - PullRequest
5 голосов
/ 21 декабря 2010

Я пытаюсь научиться сам jQuery Mobile.Я думаю, что это действительно круто, но я застрял в чем-то.Если я хочу назвать это:

$j.mobile.changePage({ url: $j("#News"), data: "apple=banana", type: "GET"}, "slide", true, true);

Это не похоже на работу.На самом деле я не знаю, как передавать данные с помощью jQuery, поэтому, возможно, я делаю что-то не так.

С уважением, Сенне

Редактировать: Извините, поместил туда неправильный код ...

Ответы [ 3 ]

1 голос
/ 31 декабря 2010

На основе проб и ошибок происходит следующее:

  • $. Mobile.changePage ('#' + id, filter, false, true) обновляетсятекущее представление, но не выполняет запрос на сервере
  • $. mobile.changePage ({url: '#' + id, данные: 'code = apple = banana',type: 'GET'}, 'slide', false, true) не обновляет текущее представление, но выполняет запрос на сервере
  • $. mobile.changePage ({url: 'http://localhost/SomeOtherPage.aspx', data:' code = apple = banana ', тип:' GET '},' slide ', false, true) обновляет текущее представление и выполняет запрос на сервере

Таким образом, кажется, что базовый URL-адрес должен отличаться для обновления текущего представления при выполнении на сервере.

1 голос
/ 22 декабря 2010

Насколько я знаю - URL должен быть реальным URL или идентификатором другого div[data-role=page]

Для уточнения:

При указании идентификатора отображается еще один div, который доступен в текущем документе (вы можете создавать html-файлы с несколькими страницами в них).

Также - jquerymobile загружает страницу только один раз и добавляет ее в документ для дальнейшего использования. Никакие действия на стороне сервера не будут инициированы позже. (Я не уверен, как он обрабатывает звонки с предоставленными данными)

0 голосов
/ 01 февраля 2013

Я столкнулся со сценарием, в котором мне нужно было зафиксировать событие касания элемента и отобразить загруженную страницу (тот же HTML-файл) с подробной информацией о выбранном элементе. Однако решение, которое я нашел, зависит от нескольких вещей:

  • Ваша схема .js должна содержаться как минимум в одном «пространстве имен» или свойстве вне глобального объекта, чтобы предотвратить перезапись чего-либо важного для глобального объекта или запись во внешний код.
  • Ваши данные уже должны присутствовать в объекте .js и / или быть доступны для других целей.

Прикрепление события касания к элементу, вызывающему переход страницы (или даже к функции, вызывающей проблемный переход на страницу), позволяет создать функцию следующим образом:

function PageTransitionHandle(oEvent)
{
   // Set your stored data to a global object
   oYourNamespace.DataObject = oDataObject;

   // not necissary if already linked to other page but useful when attaching to
   // an image  or other element
   $.mobile.changePage("#otherPageId");
}

и в событии pagehow для следующей страницы:

function PageInit()
{
   var oPageData = oYourNamespace.DataObject;
   // Handle using data from here (i.e calling webmethod using parameters 
   // or setting data according to object)
}

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

Еще один маршрут, на который стоит обратить внимание: Локальное хранилище , но я пока лично не особо разбирался в этом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...