Javascript 具有多个参数的HTML5WebWorkers

Javascript 具有多个参数的HTML5WebWorkers,javascript,html,web-worker,Javascript,Html,Web Worker,我刚接触HTML5网络工作者,现在我想把多个参数传递给我的工作者 我的页面中有以下内容: var username = document.getElementById("username").value; var server_url = 'localhost'; w.postMessage(username,server_url); 在我的工人身上: var username = ''; var server_url = ''; onmessage = function (e,f) {

我刚接触HTML5网络工作者,现在我想把多个参数传递给我的工作者

我的页面中有以下内容:

var username = document.getElementById("username").value;
var server_url = 'localhost';
w.postMessage(username,server_url);
在我的工人身上:

var username = '';
var server_url = '';

onmessage = function (e,f) {
    username = e.data;
    server_url = f.data;
}
console.log(username);
console.log(server_url);
当我打开浏览器中调用worker的页面时:
Uncaught TypeError:未能对“Worker”执行“postMessage”:第二个参数既不是数组,也没有索引属性。

我只想把
用户名
服务器url
传递给工人 我知道在示例中我硬编码了
服务器url
,但在实际脚本中,它是动态的

请不要只是说:改变这个,做那个,而是给我提供代码,这样我就可以看到应该怎么做,而不是自己去弄清楚。

像这样发帖:

w.postMessage({ 
    user: username, 
    url: server_url 
})
关于消息事件,请执行以下操作:

onmessage = function (e) {
    username = e.data.user;
    server_url = e.data.url;
}

在一个json中传递尽可能多的参数,如w.postMessage({user:username,url:server_url});隐马尔可夫模型。。。我懂了。然后,我如何在worker中读取它们呢?这就是诀窍:)虽然我得到了一个
未定义的
用户名,但通过将
w.postMessage({user:username,url:server\u url})
更改为
w.postMessage({username:username,url:server\u url})
从函数中删除参数“f”。这是不必要的,正在造成混乱。