有關傳遞問題
发布于 3个月前 作者 lenofire586543 388 次浏览 来自 问答

CONFERENCE.html

    socket.on('reload',function(mapid){
        alert('有更新,請重整');
        LoadMap(mapid);
    });
<input type="button" name="reload" value="重整" onclick="reload_status()">

YMAP.js

 function reload_status(mapid) {
      alert('HI');
      socket.emit('reload');
      LoadMap(mapid);
}
function LoadMap(mapid) {
    if (mapid <=0)  mapid = $('#prjselect').val();
    if( mapid != null && mapid>0) {
        ajaxLoadMap(mapid);
        dbarinit();
        jQuery('#dropdowntoolbarcontainer').accordion("activate",-1);
    }
    socket.emit('set_mapid', mapid);
}

app.js

        socket.on('reload',function(mapid){
        if ( session != undefined){
            socket.broadcast.emit('reload',mapid);
            //console.log(data);
        }
        
    });

請問 這樣子我要怎麼令他們跑到LoadMap()呢 要傳一個Mapid 嗎? 我CONFERENCE.html 已SOCKET.ON 但好像不能到LoadMap() 請指教

6 回复

代码没有标记…

用的socket.io么? socket.broadcast这个貌似发送端自己是收不到这个通知的。

@jiyinyiyong 代码没有标记??

@marshalys 有收到的 但無法去LoadMap()這個FUNCTION

@lenofire586543 有收到的话,这里注册的回调函数执行了么? socket.on('reload’,function(mapid){ alert(‘有更新,請重整’); LoadMap(mapid); });

reload_status()调用时缺少mapid socket.emit(‘reload’);时没有传递mapid ,错误很多

回到顶部