當我使用JQuery進行ajax請求時,相對的url并不包括url的最后部分。我有以下的url:
/Question/100。
/Question/100/AddComment。
我試圖從第一頁向第二頁發送一個ajax請求。我所使用的jquery是:
$.ajax( {
url: 'AddComment',
type: 'POST'/span>
});
這個ajax請求去到url
/Question/AddComment。
為了解決這個問題,我可以只做window.location.href "/AddComment"然而我想知道為什么相對的url不包括Id值?另外,是否有辦法在不使用window.location.href的情況下解決這個問題?
uj5u.com熱心網友回復:
這與JavaScript或jQuery無關,這只是瀏覽器解釋相對URL的方式。 而且有很好的理由。
瀏覽器不知道也不關心URL中的 "Id "是什么。 它只知道你正在請求一個位于路徑(/Question/)末端的資源(100)。 任何相對于該資源的URL都將被請求相對于同一路徑。 因此,只請求AddComment將導致瀏覽器在/Question/路徑中尋找AddComment。
考慮一下如果情況不是這樣,會發生什么。 如果你在index.html頁面上,點擊了一個指向about.html的鏈接。 你是否期望或希望瀏覽器導航到/index.html/about.html? 當然不會。
你只需要指定正確的URL。 如果你能寫出完整的絕對路徑,那太好了。 如果您可以從服務器端代碼中動態輸出它(例如,像 ASP.NET MVC 中的 @Url.Route 輔助程式),也很好。 如果你能在JavaScript中根據已知的基礎值或通過檢查當前的URL動態地建立它,只要你涵蓋了你可能遇到的任何邊緣情況和其他東西,這可能也是不錯的。 但最終你需要指定URL。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/331540.html
標籤:
