将PHP数组传递给cookie并使用jQuery检索

时间:2016-09-09 02:18:42

标签: javascript php jquery arrays cookies

我已经深入挖掘了这个,并且似乎无法找到答案,大多数答案将向您展示如何在一种语言中设置和检索Cookie,而不是跨语言。

我需要将一个php数组传递给一个cookie,然后使用jquery检索另一个页面上的内容,以便我可以在下拉菜单中动态设置选项。 (对于bootstrap下拉菜单,而不是标准的select下拉列表)我已经回显了php数组以确认它存在且是。

我正在使用jquery cookie插件。

PHP代码段:

while ($row = mysql_fetch_assoc($result)) {
   //Get Dropdown options
   $wnDropdown[] = '<li value=' . $row['id'] . '>' . $row['name'] . '</li>';
} //end while

            mysql_close();
        } //end inner if
    } //end else

    //Cookie needed
    setcookie("wnDropdown", json_encode($wnDropdown));

jQuery的:

$(document).ready(function() {
    var result = JSON.parse($.cookie('wnDropdown'));
    alert(result);
}); 

结果提醒返回&#39; null&#39;。

我错过了什么?

如果需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:2)

我想要你检查一些要点

  • 确保加载了cookie插件,最好在jquery之后加载它。
  • 现在关于setcookie之前的空格,大部分都取决于你的缓冲设置,如果你有输出缓冲然后你可以放任何东西或回声无论你想要什么和任何地方,仍然会发送cookie标题,但如果它的“关闭”任何{在您发布的PHP代码之前出现的{1}} <script> <style> <html>可能会导致问题。如果值不是“关闭”,请检查您的php.ini in short anything而且相当一些数字,那么你在这里很清楚;请注意output_buffering=value内的空格无关紧要只显示函数如echo,print_r等,如果它们出现在setcookie()之前。
  • 同时检查<?php ?>的范围,确保它是全局的,并在调用setcookie时存在一些值。