好吧,我有以下功能的JavaScript文件:相对路径问题致电
function AskReason() {
var answer = prompt("Please enter a reason for this action:", "");
if (answer != null)
DoReason(answer);
}
function createXMLHttpRequest() {
try {
return new XMLHttpRequest();
}
catch (e)
{ alert('XMLHttpRequest not working'); }
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{ alert('Msxml2.XMLHTT not working'); }
try {
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{ alert('Microsoft.XMLHTTP not working'); }
alert("XMLHttpRequest not supported");
return null;
}
function DoReason(reason) {
var xmlHttpReq = createXMLHttpRequest();
var url = "/Shared/AskReason.ashx?REASON=" + reason;
xmlHttpReq.open("GET", url, true);
xmlHttpReq.send(null);
}
这条线:
var url = "/Shared/AskReason.ashx?REASON=" + reason;
是什么原因造成的问题。
在VS 2010中调试应用程序 - 此调用对我的ashx处理程序有效。
当我将项目移动到一个虚拟目录 - 例如http://localhost/myapp
这个代码将打破,我不得不改变的JavaScript这样:
var url = "http://localhost/myapp/Shared/AskReason.ashx?REASON=" + reason;
我如何能解决任何想法这是为了在两种环境中工作还是在我将应用程序部署到服务器时接受手动更改?
谢谢, 麦克
不是一个修复,我会在一分钟内看起来更多 - 但是为了推出自己的AJAX方法(出于其他安全原因)是一个非常糟糕的主意 - 请查看像原型或jQuery这样的库。或者,因为你使用.NET - 使用内置的库(这是有效的jQuery) – iivel 2011-02-23 14:50:50