1. 程式人生 > >Tomcat下ajax請求路徑總結

Tomcat下ajax請求路徑總結

ajax的url有兩種,一種是絕對路徑,另一種是相對路徑。 一、絕對路徑:包括協議名稱、主機地址、埠、web專案名稱等的完整請求路徑。 例如: $.ajax({     url:"http://localhost:8080/webname/test" }); 好處:比如在webA專案中的ajax需要請求webB專案中的服務,則必須使用絕對路徑。 壞處:使用絕對路徑要求古地理更web專案的名稱,如果webB專案重新命名了,則對應的ajax請求都需要修改。 二、相對路徑:不需要協議名、主機地址、埠、web專案名稱,只需要請求的路徑。 假設: 專案路徑:http://localhost:8080/webname 頁面路徑:/webname/index.html(A頁面),/webname/test/test.html(B頁面) 請求路徑:/request/ajaxtest,request/ajaxtest 1、如果請求路徑以根路徑開頭,則無論什麼ajax在什麼頁面,該請求都是相對於伺服器的根路徑,最後的請求路徑都是:http://localhost:8080/request/ajaxtest 例如: $.ajax({     url :"/request/ajaxtest" }); 原因:以"/"開頭,是表示該請求基於從伺服器的根路徑,即不是相對於html的路徑。 2、如果請求不以根路徑開頭(常見),則該請求路徑是相對於html所在的路徑的。     a、假如請求在A頁面,最終的請求路徑是:http://localhost:8080/webname/request/ajaxtest。     //     /webname/index.html頁面     $.ajax({         url:"request/ajaxtest"     });     原因:index.html頁面對應的路徑是"/webname/",所以將url跟在這個路徑下就是最終的請求路徑。     b、假如請求在B頁面,最終的請求路徑是:http://localhost:8080/webname/test/
request/ajaxtest。     //     /webname/test/test.html頁面     $.ajax({         url:"request/ajaxtest"     });     原因:test.html頁面對應的路徑是“/webname/test/”,所以將url要跟在test這一級下面。 三、環境描述 web伺服器:Tomcat7 MVC框架:springMVC 以上內容,都是基於該環境測試自行總結出的,並無理論依據,若有錯誤請留言。