我總是用這種方式編寫由AJAX調用使用的URL:"/Home/Save"
,其中以正斜槓開頭。現在這個最後的項目被部署到服務器上的虛擬目錄。因此,這些網址不再有效,因爲它們不是"example.com/VirtualDir/Home/Save"
,而是指向"example.com/Home/Save"
這是錯誤的。我通過在我的JavaScript中的所有URL中刪除第一個正斜槓"/"
來快速修復此問題。所有頁面都很好,除了一個!當AJAX調用發生在有問題的頁面上時,指定的URL會被追加到頁面URL。我昨天和今天整個上午都花了幾個小時,但我無法弄清楚。這個頁面與其他頁面完全沒有什麼不同。有沒有人有過這個問題?我應該發佈我的代碼嗎?jQuery中正斜槓「/」的問題AJAX
編輯︰我的頭在鍵盤上敲了幾個小時後,我結束了以下實施。我在一個共同的控制器中得到了一個動作,返回Request.Url.GetLeftPart(UriPartial.Authority)
的結果,這是您的http://www.mysite.com
。我將它在我的Layout頁面中渲染成一個全局JavaScript變量,_AppPath
。然後,每個AJAX調用都會得到如下的URL:_AppPath + '/Controller/Action'
。這在任何地方都行得通,我仍然不知道那個黑客是什麼問題。乾杯!
這一頁有一個非常不同的網址嗎?除了這個問題之外,是什麼使這一個頁面不同? – NickAldwin 2011-05-26 16:09:08
@NickAldwin - 絕對沒有。它是.NET MVC。我擁有的所有頁面都是其中包含1 - 3個部分視圖的視圖。網址都像'localhost:2244/Home/Display',JavaScript在每個視圖上都以完全相同的方式寫入剃鬚刀部分。總是有一個$(document).ready()從JS文件調用Init函數,該文件設置觸發AJAX調用的點擊處理程序。無處不在。 – Dimskiy 2011-05-26 16:23:28