我正在尝试将变量保存在 cookie 中,然后检索它,到目前为止,我可以只保存文本和页面 url,然后在我想要的地方检索它。
你能帮我解决一下吗?例如,在这段代码中,我想将 $room 和 $renthome 值保存在 cookie 中。
这是我当前的代码
<!DOCTYPE html>
<html>
<head>
<title>New page string name</title>
<link rel="stylesheet" href="css/reset.css"> <!-- Resource style -->
<link rel="stylesheet" type="text/css" href="css/buy-rent.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script>
function createCookie(name, value, days) {
var expires = '',
date = new Date();
if (days) {
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toGMTString();
}
document.cookie = name + '=' + value + expires + '; path=/';
}
/*
* Read cookie by name.
* In your case the return value will be a json array with list of pages saved.
*/
function readCookie(name) {
var nameEQ = name + '=',
allCookies = document.cookie.split(';'),
i,
cookie;
for (i = 0; i < allCookies.length; i += 1) {
cookie = allCookies[i];
while (cookie.charAt(0) === ' ') {
cookie = cookie.substring(1, cookie.length);
}
if (cookie.indexOf(nameEQ) === 0) {
return cookie.substring(nameEQ.length, cookie.length);
}
}
return null;
}
/*
* Erase cookie with name.
* You can also erase/delete the cookie with name.
*/
function eraseCookie(name) {
createCookie(name, '', -1);
}
var faves = new Array();
function isAlready(){
var is = false;
$.each(faves,function(index,value){
if(this.url == window.location.href){
console.log(index);
faves.splice(index,1);
is = true;
}
});
return is;
}
$(function(){
var url = window.location.href; // current page url
$(document.body).on('click','#addTofav',function(e){
e.preventDefault();
var pageTitle = $(document).find("title").text();
if(isAlready()){
} else {
var fav = {'title':pageTitle,'url':url};
faves.push(fav);
}
var stringified = JSON.stringify(faves);
createCookie('favespages', stringified);
location.reload();
});
var myfaves = JSON.parse(readCookie('favespages'));
if(myfaves){
faves = myfaves;
} else {
faves = new Array();
}
});
</script>
</head>
<body>
<a href="javascript:void(0);" id="addTofav">Add me to fav</a>
<div class="img">
<div class="desc">
<ul id="appendfavs">
</ul>
</div>
</div>
<?php
error_reporting(0);
include("config.php");
$quer= "SELECT*FROM ".$db_table." ";
$query=mysqli_query($connect,$quer)
or die(mysqli_error());
?>
<?php while($row = mysqli_fetch_array($query)):
$idhome= $row['idhome'];
$room=$row['room'];
$renthome=$row['renthome'];
$pricehome=$row['pricehome'];
?>
<?php endwhile;?>
</body>
</html>
最佳答案
在 jQuery 中,您应该使用 jquery.cookie插件。
这会创建一个 cookie
$.cookie(name, value [, options]);
然后检索它的值
$.cookie(name);
关于javascript - 在 cookie 中查找并保存变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38291218/