Ajax调用不同的控制器

时间:2012-09-19 17:13:20

标签: java jquery ajax spring

我一直在尝试从与该控制器无关的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');

});

每个引用的锚都指向控制器映射到的动作。我还使用了处理我们的动作请求和映射的视图控制器,希望能够使空视图不引用新的“视图”。但是接下来我的500支票就是通过了那个观点。

我知道这到处都是。但是,如果我能找到一种方法来调用我的课程而不改变视图,那将是非常有益的。

1 个答案:

答案 0 :(得分: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