如何使用ajax将本地存储数据发送到php页面?

时间:2016-10-24 11:46:34

标签: javascript local-storage

我已将表单数据存储在本地存储阵列中,我希望将带有ajax的数组发送到php页面,并且还想访问php页面中的数据。
这是我的代码 -

    var myvalue=document.getElementById('name').value;        
                    var favorites_str = localStorage.getItem('my_favorites');    
                    if(favorites_str == null) {    
                    favorites = [];      
                    favorites.push({ "name":myvalue});      
                    }    
         else{      
                    favorites = JSON.parse(favorites_str);      
                    favorites.push({ "name":myvalue});      
                    }  
             localStorage.setItem('my_favorites',JSON.stringify(favorites));      
    var data = localStorage.getItem('my_favorites');      
                    if(data == null){      
                    alert("0 favorites");      
                    }else{      
                    favorites = JSON.parse(data);      
                    $.each(favorites, function(index,item){      
                    var my_items=item.name;         
                    })      
                    };    
if(navigator.onLine)    
                 {  
                     $.ajax({  
                         url:'http://localhost/offline/nextpage.php',  
                         type:'post',  
                         data:{my_items:my_items},  
                         success:function(data)  
                         {  
                           $('#result').html(data);  
                         }  
                     });  
                 }

感谢。

2 个答案:

答案 0 :(得分:0)

假设您使用密钥名称将数据存储在本地存储中:" name"你可以像下面那样得到它并将它发送到ajax调用。

customLoader

答案 1 :(得分:0)

我在你的代码中可以看到的问题是你试图在ajax请求中发送一个变量(my_items),但变量是在不同的范围内定义的。

请改为尝试:

var myvalue=document.getElementById('name').value; 
...
favorites = JSON.parse(data);
var my_items = [];
$.each(favorites, function(index,item){
    my_items.push(item.name);
});

if(navigator.onLine) {
    $.ajax({
        url:'http://localhost/offline/nextpage.php',
        type:'post',
        data:{my_items:my_items},
        success:function(data)
        {
           $('#result').html(data);
         }
     });
 }

现在可以在ajax请求中访问my_items对象。