Scala Play - 从视图调用控制器方法不会加载新页面

时间:2014-07-01 03:17:54

标签: ajax scala playframework jscript

我显示信息,收集一些用户的输入,并使用视图中的ajax / java脚本调用来调用控制器方法。但是,控制器方法不是显示一个新的/不同的html页面,而是返回到我称之为jscript的原始html页面。

这是因为ajax电话吗?我如何确保控制器方法将显示它应该的html文件,而不是保留旧的html页面?

1 个答案:

答案 0 :(得分:0)

听起来我想要做的就是打开一个与你所在的网址不同的网址。要做到这一点,你不要使用ajax。而是尝试使用javascript更改window.location以告知浏览器转到网址(或者打电话给您的控制器')。它看起来像这样:

window.location.assign("/your/controller/url"); // or
window.location = "/your/controller/url";

此处还有更多内容可供参考:https://developer.mozilla.org/en-US/docs/Web/API/Window.location

您可以将ajax视为一个单独的小浏览器,它允许您调用Web服务器,但让您处理javascript返回的内容,而不是始终向用户显示。因此,如果您想使用ajax进行调用但是将响应HTML添加到您的页面中,则您负责获取该响应并将其插入到DOM中。