0

我一直在尝试从与该控制器无关的 jsp 页面调用不同的控制器。我正在尝试做的事情:jsp从控制器A加载,页面加载后我想在不更改页面位置的情况下调用控制器B。

我已经尝试了很多事情,但还没有成功。

阿贾克斯尝试:

$(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');

});

每个都引用了一个锚点,该锚点指向控制器映射到的操作。我还玩过处理我们的操作请求和映射的视图控制器,希望使空视图不引用新的“视图”。但后来我的 500 支票被抓到是通过的那个观点。

我知道这到处都是。但是,如果我能找到一种方法在不改变视图的情况下给我的班级打电话,那将是非常有益的。

4

1 回答 1

1

只需将 loc 设置为控制器的 url

$(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 回答