我正在爲用戶創建配置文件頁面。我有兩個html頁面:page1:login.html和page2:profile.html。從一個頁面:1我們登錄,成功登錄後,它將重定向到userProfile頁面:2。我從第1頁到 2頁發送用戶信息,如姓名,地址,手機號碼,電子郵件,身份證等,以JSON的形式,如何將JSON數據數組從一個html頁面傳遞到其他html頁面?
我想用sesstion,而不是localStorage的
JSON格式是
[{"userInfo":{"id":"1","username":"nee","Name":"Neelabh", "address":"Bangalore","Email":"[email protected]"}}]
我用的幫助這個參考:JqueryMobile (JQM), Json and passing data to a new page
的JavaScript中的登錄頁面:
<script type="text/javascript">
$(document).ready(function(){
var userData = {
storeUserDataInSession: function(userData) {
var userObjectString = JSON.stringify(userData);
window.sessionStorage.setItem('userObject',userObjectString)
},
getUserDataFromSession: function() {
var userData = window.sessionStorage.getItem('userObject')
return JSON.parse(userData);
}
}
$("#register-form-header").submit(function(){
var uName = $('#userName').val();
var upassd=$('#password').val();
$.ajax({
url:"http://localhost/login/login.php",
type:"POST",
dataType:"json",
data:{type:"login",uName:uName,password:upassd},
ContentType:"application/json",
success: function(response){
$.each(response, function(index,value){
});
//alert(JSON.stringify(response[0]));
userData.storeUserDataInSession(response);
window.location = 'userProfile.html';
return false;
},
error: function(err){
//alert(JSON.stringify(err));
alert("fail");
window.location.href = 'error.html';
}
});
return false;
});
//loadJSON(0);
});
</script>
在個人資料頁中的JavaScript
<script>
$(document).ready(function() {
var userData = {
storeUserDataInSession: function(userData) {
var userObjectString = JSON.stringify(userData);
window.sessionStorage.setItem('userObject',userObjectString)
},
getUserDataFromSession: function() {
var userData = window.sessionStorage.getItem('userObject')
return JSON.parse(userData);
}
}
var userDataObject=userData.getUserDataFromSession();
var data=userDataObject[0].userInfo.username;
alert(data);
});
</script>
該資料頁的成功完全能夠打印HardcodedInfo 「Neelabh」,我不知道如何發送JSON數據到其他頁面,請檢查我提到的Json數據列表,
PHP代碼
$result=mysql_query($query);
$totalRows=mysql_num_rows($result);
if($totalRows>0){
$recipes=array();
while($recipe=mysql_fetch_array($result, MYSQL_ASSOC)){
$recipes[]=array('userInfo'=>$recipe);
}
echo json_encode($recipes);
}
上面的代碼是工作代碼感謝Mateusz馬耶夫斯基
如果您希望移動設備上的瀏覽器保持一致,您將不得不使用cookie傳遞數據。 Safari的隱私瀏覽模式不支持本地/ SessionStorage。 – denisol 2015-03-03 12:13:44
@denisol,你能告訴我更多關於它的信息嗎? – geeks 2015-03-03 12:16:00