XMLHttpRequest 在新服务器上失败
XMLHttpRequest failing on new server
我有以下 Javascript 函数在我的本地 IIS 服务器上完美运行。当我将代码迁移到我的其他 IIS 服务器(它是 Windows VPS)时,xmlhttp.status 总是返回 404(即使它正在检查的文件在那里)。
function startInterval(result) {
//var fname = "http://localhost/excelfiles/Ad_Activity_1_145.csv";
var path = "http://<% =Request.Url.Host %>/excelfiles/";
var fname = path + a.substring(0,a.length-1) + "_Activity_" + c + '_' + result + '.csv';
var checkCounter = 0;
checkInterval = setInterval(function() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('HEAD', fname);
xmlhttp.onreadystatechange = handleHttpResponse_check;
xmlhttp.send(null);
function handleHttpResponse_check()
{
if(xmlhttp.readyState == 4){
if (xmlhttp.status == 200) {
//ctrl.innerHTML = '<a onclick="goToURL(\''+fname+'\');return false;">Open file!</a>';
ctrl.innerHTML = '<a onclick="goToURL(\''+fname+'\');return false;"><img src="images\Excel_Icon.jpg" style="width:20px;height:20px;cursor:pointer;"/></a>';
clearInterval(checkInterval);
} else if (xmlhttp.status == 404) {
checkCounter += 1;
if(checkCounter >= 5){
clearInterval(checkInterval);
ctrl.innerHTML = 'ERROR: File not created';
}
}
}
}
}, 1000);
}
我怀疑 XMLHttpRequest 在新服务器上失败。 fname变量有权限path/filename。函数 handleHttpResponse_check 函数执行正确...只是 xmlhttp.status 总是在新服务器上返回 404,尽管文件位于 path/filename。本地主机服务器完美地检测到该文件,并且该服务器上的 xmlhttp.status returns 200。知道新服务器可能会发生什么吗?
404 状态代码表示服务器未找到与 Request-URI 匹配的任何内容。检查请求资源的路径以确保生成的路径是预期路径,并查看您是否可以访问该资源。
我有以下 Javascript 函数在我的本地 IIS 服务器上完美运行。当我将代码迁移到我的其他 IIS 服务器(它是 Windows VPS)时,xmlhttp.status 总是返回 404(即使它正在检查的文件在那里)。
function startInterval(result) {
//var fname = "http://localhost/excelfiles/Ad_Activity_1_145.csv";
var path = "http://<% =Request.Url.Host %>/excelfiles/";
var fname = path + a.substring(0,a.length-1) + "_Activity_" + c + '_' + result + '.csv';
var checkCounter = 0;
checkInterval = setInterval(function() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('HEAD', fname);
xmlhttp.onreadystatechange = handleHttpResponse_check;
xmlhttp.send(null);
function handleHttpResponse_check()
{
if(xmlhttp.readyState == 4){
if (xmlhttp.status == 200) {
//ctrl.innerHTML = '<a onclick="goToURL(\''+fname+'\');return false;">Open file!</a>';
ctrl.innerHTML = '<a onclick="goToURL(\''+fname+'\');return false;"><img src="images\Excel_Icon.jpg" style="width:20px;height:20px;cursor:pointer;"/></a>';
clearInterval(checkInterval);
} else if (xmlhttp.status == 404) {
checkCounter += 1;
if(checkCounter >= 5){
clearInterval(checkInterval);
ctrl.innerHTML = 'ERROR: File not created';
}
}
}
}
}, 1000);
}
我怀疑 XMLHttpRequest 在新服务器上失败。 fname变量有权限path/filename。函数 handleHttpResponse_check 函数执行正确...只是 xmlhttp.status 总是在新服务器上返回 404,尽管文件位于 path/filename。本地主机服务器完美地检测到该文件,并且该服务器上的 xmlhttp.status returns 200。知道新服务器可能会发生什么吗?
404 状态代码表示服务器未找到与 Request-URI 匹配的任何内容。检查请求资源的路径以确保生成的路径是预期路径,并查看您是否可以访问该资源。