我有一个控制器LessonController
,其行为为save()
。我执行此操作的路线是POST /save LessonController.save(name: String)
。此操作的代码非常简单。
public static Result save(String name){
Lesson lesson = new Lesson();
lesson.setTitle(name);
lesson.save();
return ok(lesson.getLessonId().toString());
}
这是我在视图中的ajax调用
myJsRoutes.controllers.LessonController.save(name).ajax({
success : function(id){
alert('Success');
}
});
此代码确实创建了一个课程,但它刷新了页面,并且不会从ajax请求执行成功块。我想这是因为我正在返回Result
类型。我尝试将返回类型更改为String
,但它给了我一个编译错误。
所以问题是,如何在没有页面刷新行为的情况下使用ajax调用控制器中的操作?
答案 0 :(得分:0)
如果您从中获得页面刷新,那么出于其他原因。例如,使用提交按钮触发ajax调用而不消耗按钮事件,以便它导致表单提交POST或GET
答案 1 :(得分:0)
请检查您的AJAX通话事件,但您可以使用提交按钮触发AJAX通话,或者您可能是在同一事件的网页上提交任何表格。