脚本根路径问题?

时间:2015-03-25 06:10:07

标签: jquery ajax spring-mvc

在我的JSP中,我可以获得像

这样的上下文路径
<script type="text/javascript" src="<spring:message code="resources.location"/>/js/registration.js"></script>

但是在我的registration.js需要ajax调用时,我需要根路径来获取它。

有什么建议吗?

我的js代码

var lottoRequestHandler = new LottoRequestHandler();

function ContactService(){
    this.postContactUserData = function(data, successCallback, errorCallback) {
        lottoRequestHandler.makeAjaxRequest(data, '/app/contact/registration', 'POST', successCallback, errorCallback);

    }

}

ajax代码 rootContext这是硬编,我想它会来自jsp

 this.makeAjaxRequest = function (parm, requestUrl, method, successCallback, errorCallback) {
            var rootContext = 'http://localhost:8080/lotto';
            var requestType = 'jsonp';
            if(method === 'POST') {
                requestType = 'json';
            }
            $.ajax({
                complete: function() {

                },
                type: method,
                url: rootContext + requestUrl,
                crossDomain: true,
                data: parm,
                dataType: requestType,
                //contentType: 'application/javascript',
                async: true,
                success: function(response) {
                    if(typeof successCallback === 'function') {
                        successCallback(response);
                    }
                },
                error: function(e) {
                    if(typeof errorCallback === 'function') {
                        errorCallback();
                    }
                }
            });
        }

我的jsp调用这些文件

<script src='<spring:message code="resources.location"/>/js/requestHandlers/lottoRequestHandler.js'></script>
        <script src="<spring:message code="resources.location" />/js/services/contactService.js"></script>

它工作正常,但硬盘的上下文无法在生产中使用。

1 个答案:

答案 0 :(得分:0)

在html的head部分定义一个标记,如果你使用的是apache,请使用RewriteBase