好吧,我有以下功能的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