1

私がこれを使用するとき:

<portlet:resourceURL var="ajaxURL" id="ajax" escapeXml="false" />


 $.ajax({
    method : "POST",
        url : "${ajaxURL}",
        data : {
    ...

ページに含まれていない私のajax呼び出しの中で動作します。

しかし、同じJavaScriptコードをページに含めようとすると、エラーが発生します:

WARN  [http-bio-8080-exec-27][404_jsp:109] /$%7BajaxURL%7D

私の質問は、そのリソース URL を含まれている JavaScript に渡す方法、または JavaScript 内で生成する方法です。

私が試してみました: var urlVar = '<portlet:resourceURL var="ajaxURL" id="ajax" escapeXml="false" />'

そして、この方法でurlVarを使用すると:

$.ajax({
method : "POST",
    url : urlVar,
    data : {
...

それは動作しません。誰もこの問題を解決する方法を知っていますか? ありがとう

4

3 に答える 3

0

私は解決策を見つけました。これを行う 1 つの方法は、たとえば次のように jsp ページでリソース URL を定義することです。

<portlet:resourceURL var="yourResourceURL" id="yourResource" />

パラメータ内のjspから外部jsファイルにある関数に渡します。

たとえばjsで:

function test(urlVar) {
    alert(urlVar);
        $.ajax({
            method : "POST",
            url : urlVar,
            success : function(data) {

            }
        });
}

jsp では、その関数を次のように呼び出します。

 test(" ${yourResourceURL} ");

そしてそれはうまくいくはずです。

于 2013-08-23T06:20:01.753 に答える