0

そのコントローラーに関連付けられていない jsp ページから別のコントローラーを呼び出そうとしています。私がやろうとしていること: jsp はコントローラー A からロードされ、ページがロードされた後、ページの場所を変更せずにコントローラー B を呼び出します。

私は多くのことを試しましたが、まだ成功していません。

Ajax を試してください:

$(window).load(function () {
    var url = $('#analyticLog').attr('href');

    $.ajax({
        type: "POST",
        url: url,
        success: function(html)
        {
                $("#analyticLogAjax").replaceWith($("#analyticLogAjax",$(html)));
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert(xhr.status);
            alert(thrownError);
          }
    });
});

window.location を試してください:

$(window).load(function () {
        window.location = $('#analyticLog').attr('href');

});

コントローラーがマップされているアクションを指すアンカーがそれぞれに参照されています。また、null ビューが新しい「ビュー」を参照しないようにすることを期待して、アクション リクエストとマッピングを処理するビュー コントローラーも試しました。しかし、その後、私の 500 の小切手がキャッチされたのはパスのビューです。

私はこれがいたるところにあることを知っています。しかし、ビューを変更せずに自分のクラスを呼び出す方法を見つけることができれば、非常に有益です。

4

1 に答える 1

1

コントローラーの URL に loc を設定するだけです。

$(window).load(function () {
    var url = $('#analyticLog').attr('href');
    loc = /* the URL of the controller you wish to post to */;
    $.ajax({
        type: "POST",
        url: loc,
        success: function(html)
        {
                $("#analyticLogAjax").replaceWith($("#analyticLogAjax",$(html)));
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert(xhr.status);
            alert(thrownError);
          }
    });
});

注:コントローラーが特に期待しない限り、postおそらく使用する必要がありますget

于 2012-09-19T17:26:31.490 に答える