首先,我是Web服务,Web工作者和XMLHttpRequests的新手,所以请耐心等待。此外,我的项目中有很多规定,因此解决方案只需这样做即可。"可能不可行。
所以我设置了一个Web服务来接收来自javascript中的XMLHttpRequest的调用,并且它同步执行此操作。这工作正常,但它绑定了UI线程,我希望在向服务器发出请求时运行加载微调器。由于一个问题,我无法让程序访问Web上的外部脚本,因此我使用Blob来掩盖" file://"前言
我也使用内联webworker来完成此任务。现在我要解决我的实际问题。产生webworker很好,我可以创建并发送XMLHttpRequest,但是只要我打电话给"发送"一切都存在。在此之后它将不运行任何代码行。
以下是一些代码:
来自JS:
var blob = new Blob([document.querySelector('#getWorker').textContent]);
var blobUrl = window.URL.createObjectURL(blob);
var worker = new Worker(window.URL.createObjectURL(blob));
worker.onmessage = function (e) {
alert(e.data);
}
worker.postMessage();
工人:
var bigString = "";
var invocation = new XMLHttpRequest();
var url = 'http://<ipAddress>/<serviceName>/Service.asmx/<method>';
if (invocation) {
invocation.open('GET', url, false);
invocation.send(); //*****EXITS AFTER THIS LINE*****//
if (invocation.status == 200) {
var responseText = invocation.responseText.replace(/(\r\n|\n|\r)/gm, "");
responseText = responseText.replace('<?xml version="1.0" encoding="utf-8"?>', '');
responseText = responseText.replace('<string xmlns="http://tempuri.org/">', '');
responseText = responseText.replace('</string>', '');
postMessage("Success");
//updateTable(responseText);
} else {
postMessage("Fail");
//alert("Could not connect to database. Check your internet connection.");
}
var c = 0;
var b = 1;
}
var q=1;
调试器将在&#34; invocation.send()&#34;之后结束。线。没有错误,没有状态,没有任何东西。那就是我迷失的地方。
非常感谢任何见解。此外,这个确切的代码在不在WebWorker中的情况下有效,因此可能存在一些我不理解的内容。
提前致谢!
答案 0 :(得分:0)
Chrome问题。如果COR请求被阻止,则无提示失败。 Firefox控制台显示有关错误的更多信息。