Хорошо, у меня есть файл 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;
Любые идеи о том, как я могу исправить это для работы в обеих средах или просто принять изменения вручную при развертывании приложений на серверах?
Спасибо, Mike