2013-09-05 5 views
6

私はを使用しています。Spring MVCおよびJavascript/ajax私のajaxスクリプトがサーバー側のリソースを参照する方法に問題があります。js/ajaxスクリプトのアプリケーションコンテキストパスのハードコーディングを避ける方法

最初のページのURLは次のとおりです:

  • /myapp/advertisement/28/edit
  • /myapp/signup

    は、私が2ページAJAXを通じて同じサーバー側のリソースを使用する必要がを持っていると言います

セイは私のAjaxのスクリプトを使用する必要があるサーバー側のリソースは次のとおりです。今のよう

  • /myapp/geolocation/addressAutocomplete

、私は私の中/myappすなわちハードコードされたアプリケーションのコンテキストパスを持っていますajaxスクリプト

私のアプリケーションコンテキストパスが変更された場合、私は更新する必要があります。

解決策はありますか?

答えて

6

スクリプトを含むHTMLページに、コンテキストを示すHTML baseタグを付けることができます。 How to get domain URL and application name?

への回答を参照してください。そして、あなたはこのタグを使用するかどうかを決定する前にThe <base> tag specifies the base URL/target for all relative URLs in a document.

を述べhttp://www.w3schools.com/tags/tag_base.aspbaseタグについて読むことができ、それはあなたができるIs it recommended to use the <base> html tag?

6

への回答を読んで価値があるかもしれません$.ajaxPrefilter()を使用して、すべてのjQuery AJAX要求にコンテキストパスを追加します。

ページの<script>の要素で設定できます(コンテキストパス値が利用可能です)(例:JSPでは${pageContext.request.contextPath})。

関連する問題