有關傳遞問題
发布于 10 年前 作者 lenofire586543 3482 次浏览 最后一次编辑是 8 年前 来自 问答

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 ,错误很多

回到顶部