2013-02-11 9 views
14

Работает ли HTML5 Local Storage в Cordova/PhoneGap? Я пытаюсь использовать его, как способ HTML5, так и способ, указанный в документах. Ни одна из них не работает.HTML5 localstorage в Кордове

В частности, я пытаюсь использовать результат запроса ajax для локального хранилища. Я протестировал запрос, и он работает.

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <meta name="format-detection" content="telephone=no"> 
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi"> 
    <title>Hello World</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"> 

    </script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("form").submit(function() { 

       var uname = document.getElementById("username").value; 
       var pword = document.getElementById("password").value; 
       var postData = { 
        username: uname, 
        password: pword 
       }; 

       $.ajax({ 
        url: "http://www.yellowcabsavannah.com/test.php", 
        type: "POST", 
        data: postData, 
        async: false, 
        dataType: 'json', 
        cache: false, 
        success: function (data) { 
         localStorage.uname = data.username; 
         localStorage.pword = data.password; 
         alert(localStorage.uname); 
        } 
       } 
       }); 
      return false; 
      }); 
     }); 
    </script> 
</head> 

<body> 
    <form action=""> 
     <input type='text' id="username" name="username" placeholder="Username"> 
     <br> 
     <input type='password' id="password" name="password" placeholder="password"> 
     <br> 
     <input type="submit" id="submit" value="Login"> 
    </form> 
</body> 

+0

Вы уверены, что окружающая среда, которую вы тестируете, поддерживает хранилище HTML5 localc? –

+0

Работает без проблем в PhoneGap. Пожалуйста, покажите нам свой код, чтобы мы могли увидеть, что с ним что-то не так. –

+0

Как проверить среду для поддержки локального хранилища? – copilot0910

ответ

31

Я использовал локальное хранилище, как это:

// To store a value 
window.localStorage.setItem('key', value); 

// To retrieve a value 
value = window.localStorage.getItem('key'); 

// To delete a storage 
window.localStorage.removeItem('key'); 

Надежда, что помогает.

+0

То, что я сделал, и это сработало! Спасибо. IDK, почему он не работал раньше, но ваш код работал отлично. – copilot0910

+0

Добавление "окна". похоже, делает трюк. –

4

я использую Кордову построить Android приложение и я имею возможность сохранять локальные переменные для хранения с window.localStorage [ «имя пользователя»], как:

window.localStorage['username'] = data.username

это как ассоциативный массив PHP ,

Надеюсь, что поможет

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