Cookie值以未定义的形式返回

时间:2012-01-06 15:14:28

标签: jquery cookies

我正在设置并阅读它,但它返回'未定义'。

.js文件:

jQuery(document).ready(
function () {

    addParameters();

    function addParameters() {
        jQuery('#Parameters').append('<form id="form" action="" method="" autocomplete="false"><fieldset><label>Please select the month and year you wish to search</label><section><label>Month</label><select name="Month" id="monthsDropdown"><option value="Months" disabled="disabled">Select a Month</option><option value="01">January</option><option value="02">February</option><option value="03">March</option><option value="04">April</option><option value="05">May</option><option value="06">June</option><option value="07">July</option><option value="08">August</option><option value="09">September</option><option value="10">October</option><option value="11">November</option><option value="12">December</option><option value="00">Test</option></select><select name="Year" id="yearsDropdown"><option value="Years" disabled="disabled">Select a Year</option><option value=""></option><option value="2010">2010</option></section></fieldset></form>');

        jQuery('#form').append('<input type="submit" id="buttonSubmit" class="btn blue" value="Submit" />');}


    jQuery('#form').submit(function () {
        console.log(jQuery(this).serializeArray());

        var data = (jQuery(this).serializeArray());
        createCookie("formData", JSON.stringify(data), 1);
        var data1 = JSON.parse(readCookie("formData"));
        alert(data1.Month);

        return false;
    });

**The html:**
<div class="widget" id="Parameters">
</div>

Cookie似乎正在设置更正。 cookie数据如下所示:     [{ “Name”: “月”, “值”: “07”},{ “名”: “年”, “值”: “2010”}] 但警报返回'未定义。如果我从警报中省略.Month,它将返回对象Object。

我对于出了什么问题感到茫然,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

[{"name":"Month","value":"07"},{"name":"Year","value":"2010"}]

如果这是您的数据,则data1.Month不存在。这是一个对象数组。

{"name":"Month","value":"07"}

{"name":"Year","value":"2010"}

这些对象具有name属性和value属性。要获得月份,您需要循环遍历数组,并找到值name等于'Month'的对象。