2012-05-16 5 views
1

я работаю на мобильных приложений на PhoneGap, и мне нужно, чтобы передать переменные между страницами точно, как: http://coenraets.org/apps/directory/jqm/index.htmlпередачи данных между страницами

, но моя проблема в том, что я не могу использовать файл PHP. Как я могу это сделать? Спасибо :)

Я просто попытался LocalStorage, который здесь упоминалось: http://docs.phonegap.com/en/1.6.1/cordova_storage_storage.md.html#localStorage , но он не работает: вот мой код:

Page1:

$(data).find("Book").each(function() { 
     var temp = $(this).find("name").text(); 
     var temp1 = $("#champ").val().replace(" ", "") ; 

     if (temp1 != "") { 
      if (temp.toLowerCase().search(myRegExp) > -1) { 
       $("#result_list").append("<li><a href='recherche_details.html' data-transition='pop'><img src='images/a.jpg' /><p><strong>Titre : " + temp + "</strong></p><p>Auteur : " + $(this).find("address").text() + "</p><p>Pays : " + $(this).find("country").text() + "</p></a></li>").listview("refresh") ; 
       $envoi_search.attr("disabled", ""); 
       // Using the LocalStorage 
       window.localStorage.setItem("titre" + i, temp); 
       i++ ; 
      } 
     } 
    }); 

Page2 :

<script type="text/javascript" charset="utf-8"> 

     // Wait for Cordova to load 
     document.addEventListener("deviceready", onDeviceReady, false); 

     // Cordova is ready 
     function onDeviceReady() { 
      // keyname is now equal to "key" 
      var value = window.localStorage.getItem("titre0"); 
      $("#result").append("Yoooo" + value + " !! you are here") ; 
     } 
    </script> 

но не работает. У вас есть идеи?

+0

Вы собираетесь должны использовать куки в этом случае. – kei

+0

cookie с php? – Copernic

+0

Нет, вы сказали, что не можете использовать PHP. Таким образом, альтернатива заключается в том, чтобы сохранить переменную в файле cookie и получить ее, когда вы переходите на следующую страницу. – kei

ответ

1

Задайте свою переменную в location.hash или location.search (querystring), а затем извлеките ее с помощью JavaScript на второй странице.

https://developer.mozilla.org/en/DOM/window.location#Properties

Не забывайте, что при извлечении location.hash или location.search, вы хотите, чтобы лишить первый символ, используя что-то вроде .substring(1) (# или?):

var hash = location.hash.substring(1); 

Также см this question для методов разбора строки location.search на ключи и значения.

+0

спасибо, я попробую это. – Copernic

2

У меня возникнет соблазн использовать LocalStorage для хранения данных на первой странице и получить их в следующей.

Затем очистите местное хранилище, чтобы он не остался позади.

http://docs.phonegap.com/en/1.2.0/phonegap_storage_storage.md.html#localStorage

+0

Я отредактировал свой вопрос, попробовав свой ответ – Copernic

Смежные вопросы