我的html5网络工作者遇到了麻烦。 web worker postMessage()是调用worker的文档级javascript的JSON对象,它带有onmessage()函数。
显然可以访问“iterationsjob”键,因为工作人员可以处理相关的数字值,但这似乎只适用于谷歌浏览器,它仍然会引发错误:
18Uncaught TypeError: Cannot read property 'iterationsjob' of null
在Firefox中,Web工作者根本无法工作,似乎也无法访问这些数字,我正在成功进行ajax调用,但似乎绕过了日志记录步骤并引发了另一个错误分开ajax电话。 因此,我将工作人员记录()消息的基本方法一起复制到控制台,并从工作人员中调用它们:
var iterations
//get iteration data from the server
p.ajax.post({
url:'/getdataurl',
dataType: "json",
success: function(responseText){
log("test");
log("responseText is "+responseText);
iterations = responseText.iterationsjob;
log("iterations is "+iterations);
}
});
我希望看到以下内容:
test
responseText is [object Object]
iterations is 3993547
相反,我明白了:
test
responseText is [object Object]
iterations is 3993547
test
responseText is null
Uncaught TypeError: Cannot read property 'iterationsjob' of null
有人可以解释问题是什么以及如何解决? 编辑:我上传了源代码here的zip。在Google App Engine上运行。
谢谢!任何帮助非常感谢。
答案 0 :(得分:0)
啊,事实证明我需要在第二个ajax调用中添加一个空的成功回调函数。由于某种原因,如果没有定义的话,它会默认调用第一个成功回调...