我一直在尝试从与该 Controller 不关联的 jsp 页面调用不同的 Controller 。 我想做的事情:jsp从 Controller A加载,页面加载后我想调用 Controller 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');
});
每个中都引用了一个 anchor ,该 anchor 指向 Controller 映射到的操作。我还使用了处理我们的操作请求和映射的 View Controller ,希望能够使空 View 不引用新的“ View ”。但后来我的 500 支票被捕获了,这个观点就通过了。
我知道这种情况随处可见。但如果我能找到一种在不改变 View 的情况下调用我的类的方法,那将是非常有益的。
最佳答案
只需将 loc 设置为 Controller 的 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);
}
});
});
注意:除非 Controller 特别期望post
,否则您应该使用get
关于java - Ajax 调用不同的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12499643/