无法使用php设置cookie,然后使用javascript移动使用javascript读取它

时间:2012-10-19 21:56:12

标签: php jquery-mobile cookies

我正在尝试使用jquery mobile创建一个简单的Web应用程序。在应用程序的某一点上,我需要从php页面获取信息到javascript页面,然后来回(即,javascript将更新cookie,将由php读取,然后将通过javascript读取等等。)。

为了测试我可以用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。它一直是“无效”。我猜这与通过jquery移动框架访问cookie时有关。我将readCookie函数绑定到jquery mobile中的pageshow函数,如下所示:

$(document).on('pageshow',function(e, ui){
if (e.target.id == 'assessment') {
    var objective = readCookie('objective');
    alert("objective: "+objective);

不幸的是,这会导致每次都出现“null”cookie值。我需要做什么才能在PHP中设置cookie并在javascript中调用它?

0 个答案:

没有答案