我正在尝试使用 jquery mobile 创建一个简单的网络应用程序。在应用程序中的某个时刻,我需要从一个php页面获取信息到一个javascript页面,然后来回来回(即javascript会更新cookie,它会被php读取,然后会被javascript读取) , ETC。)。
为了测试我可以用 php 设置一个 cookie,然后在同一个页面加载时用 javascript 读取它,我创建了以下工作脚本:
<?php
include("../../../connectFiles/connect_dev.php");
setcookie("cookie_test","hello", 0, '/');
?>
<html>
<head><title>Cookie setting test</title></head>
<body>
<script type="text/javascript">
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
alert(readCookie('cookie_test'));
</script>
Hello there, I hope you were able to see my cookie!
</body>
正如我所提到的,这工作得很好。但是,当我采用相同的代码并尝试在 jquery 移动框架中实现它时,我似乎找不到 cookie。它一直显示为“null”。我猜这与通过 jquery 移动框架访问 cookie 时有关。我已经将 readCookie 函数绑定到 jquery mobile 中的 pageshow 函数,如下所示:
$(document).on('pageshow',function(e, ui){
if (e.target.id == 'assessment') {
var objective = readCookie('objective');
alert("objective: "+objective);
不幸的是,这每次都会导致“空”cookie 值。我需要做什么才能在 PHP 中设置 cookie 并在 javascript 中调用它?