2017-04-17 40 views
0

我正在運行一個帶有ajax調用的asp.net網站。但是,我無法讓電話在子文件夾中工作。從任何文件夾中調用ajax

我希望有發生的是一個地方來定義Ajax調用:

function LogOut() { 
    $.ajax({ 
     type: "POST", 
     url: "Services/wsvc_Security.asmx/LogOut", 
     contentType: "application/json; charset=utf-8", 
     async: true, 
     success: function (data) { console.log("done"); }, 
     error: function (request, errorType, errorMessage) { console.log('ajax error - ' + request + '\n' + errorMessage); } 
    }); 
} 

問題出現時,在/ admin文件夾......它無法找到根我的服務文件夾。是的,我可以使用/Services/wsvc_Security.asmx/LogOut ...除了在服務器上我有2個應用程序路徑:/ LiveVersion和/ TestVersion。部署到不同的環境時,我不想更改代碼。

有沒有辦法在JavaScript中做什麼我可以在.Net中做什麼?意思是:〜/服務/ wsvc_Security.asmx /註銷

在哪裏〜/讓我的應用程序

+0

你怎麼把'LogOut'在ajax中的實際路徑而不是試圖使用一些「相對」魔法? – gforce301

+0

如果我把實際的路徑,然後每次我部署它住或從開發測試,我將不得不改變我的所有ajax調用(我有至少50在不同的scrdipts)?這是我想要避免的。 網址: 「HTTP://localhost/developmentfolder/Servers/wsvc_Security.asmx/LogOut」 網址: 「HTTP://prodserver/application/Servers/wsvc_Security.asmx/LogOut」 網址:「HTTP:/ /testserver/application/Servers/wsvc_Security.asmx/LogOut「 – jibboo

回答

0

這樣做將是對生活和測試版本不同CONFIGS的正確方法的根源。對於2中的每一個,您都可以定義不同的根,即在測試配置中,例如root = 'live/something'和測試root = 'test/something'。 所以你會打電話的網址爲
url: root + "Services/wsvc_Security.asmx/LogOut"

PS。記住這個配置應該是分開的測試和生活

+0

這可能是一個選項,因爲我確實有一個/Scripts/site.js文件加載到母版頁中,並在其他頁面腳本之前加載。我真的很希望這是一種很好的方式來做到這一點,如ASP.NET的:〜/選項使其相對於項目,無論文件夾/子文件夾 – jibboo

相關問題