2010-04-23 21 views
0

我一直在開發一個asp.net mvc應用程序,我需要做大量的jquery帖子並獲取請求來調用控制器方法並取回json結果。一切工作正常。jquery發佈和獲取請求不同本地內網和現場服務器

問題是我不得不編寫不同的jQuery文章,並在本地Intranet(通過製作虛擬目錄部署)和活服務器上獲取請求URL。

當前的jquery請求URL被給出爲如下:

$ .POST( 「/ ProjectsChat /的getMessages」,{roomId:24},..........

現在這個jquery請求的url格式適用於活動服務器,但不適用於本地intranet由於在本地intranet我已經做了一個虛擬目錄它只適用於當我追加這樣的虛擬目錄的名稱「$ .post (「MyProjectVirutalDirName/ProjectsChat ...................」

我相信你們中的大多數人一定遇到同樣的問題。

現在我已經做了一個完整的項目,有大量的jquery請求,我想通過在本地Intranet上部署並修復錯誤來測試應用程序。更改本地Intranet的所有jquery請求對我來說似乎不是可行的解決方案,我確實遇到了一個很大的問題,我不能在活動服務器上像這樣部署相同的項目並在那裏測試它,客戶端會殺了我。

我需要一些專家的意見。

請幫

感謝

回答

0

我建議你避免在javascript中硬編碼的URL。你遇到的問題是其中一個原因,另一個是如果你決定改變你的路線。這是你可以做的。定義視圖中的全局JavaScript變量,將持有的地址,它會使用HTML輔助計算:

var messagesAddress = '<%= Url.RouteUrl(new { controller = "ProjectsChat", action = "GetMessages" }) %>'; 

然後用你的腳本中這個變量:

$.post(messagesAddress, { roomId: 24 },.......... 
0

爲了避免這個問題,許多同類者我已經安裝並在本地運行IIS5.1

我建議作出不那麼小的項目相同。您可以更好更快地開發您的開發項目,因爲您無需每次都在調試模式下運行Visual Studio,以查看發生了什麼變化,只需在瀏覽器中查看您的頁面,並在Visual Studio上編程即可。

如果您需要調試一部分代碼,您可以附加到進程,或者只是放下這一行代碼,並且您的程序啓動調試Debug.Assert(false);

希望得到這個幫助。

0

使用基本標籤中您的母版頁眉,並根據需要進行更改...

<base href="http://site/MyProjectVirutalDirName"></base> 

這是一個快速解決方案,並表示你沒有去通過所有代碼

相關問題