Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Window.localstorage运行不正常?_Javascript_Jquery_Html - Fatal编程技术网

Javascript Window.localstorage运行不正常?

Javascript Window.localstorage运行不正常?,javascript,jquery,html,Javascript,Jquery,Html,因此,我在HTML中获得了一个具有以下属性的特定元素(我使用文档就绪函数创建该元素) 所以我要做的是将一个ID传递给kitchen.html。我使用passId函数执行以下操作: function passId(event, aelem){ console.log("EEMMM ESTOYYY "); var roomname = aelem.closest("figure").querySelector("figcaption").innerHTML; console.

因此,我在HTML中获得了一个具有以下属性的特定元素(我使用文档就绪函数创建该元素)

所以我要做的是将一个ID传递给kitchen.html。我使用passId函数执行以下操作:

function passId(event, aelem){
    console.log("EEMMM ESTOYYY ");
    var roomname = aelem.closest("figure").querySelector("figcaption").innerHTML;
    console.log("Voy a bbuscar con roomname = " + roomname);
     api.rooms.getRooms().done(function(data) {
        $.each(data, function(i, item){
            if(item.name == roomname){
                var room_id = item.id;
                console.log("FOUND IT, ID is " + room_id);
                window.localStorage.clear();
                window.localStorage.setItem("room_id", room_id);
                window.location.href = 'kitchen.html';
                }
        });
     });
}

然后在kitchen.html中,我需要使用该ID,但结果发现它有时被提取得太晚(或者我是这么认为的),并且会出现异常:

$(document).ready(function() {
    var roomid = window.localStorage.getItem("room_id");
    window.localStorage.clear();
    api.rooms.getRoom(roomid).done(function(data){
    ...
    });
});

使用
addEventListener()
(或jQuery),而不是
setAttribute()
。有什么问题?“但有时发现它太晚了”意味着什么?如果你想传递ID,请使用
window.location.href='kitchen.html?room_ID='+room_ID你不需要本地存储就可以做到这一点。到底发生了什么样的“异常”?这太模糊了,甚至猜不出问题出在哪里。
$(document).ready(function() {
    var roomid = window.localStorage.getItem("room_id");
    window.localStorage.clear();
    api.rooms.getRoom(roomid).done(function(data){
    ...
    });
});