如何让播放操作不将我重定向到另一个页面
How can I make the Play action not redirect me to another page
我正在使用 Play 2.3.1 Java
我有一个使用动作的表单,应该 return 结果 ok()。
我的问题是,当它执行 return ok() 时,它会将我发送到路由文件上映射的 URL,即使它应该保留在同一页面上。
我该如何解决 this/What 我做错了吗?
我的代码:
动作
public static Result postComment(){
CommentModel comment = Form.form(CommentModel.class).bindFromRequest().get();
comment.author = loggedUser;
if(!comment.content.isEmpty()){
return ok();
}
return null;
}
路线
POST /postComment controllers.Application.postComment()
形式
<form action="@routes.Application.postComment()" method="post">
<label for="comment" class=required>Your comment</label>
<textarea rows="2" name="content"></textarea>
<br/>
<button class="btn btn-primary">Comment</button>
</form>
此外,我怎样才能做到,当操作没有进入 'if' 时什么也不会发生,因为它总是说我需要 return 一个结果?是否有什么都不做的结果 return?
"I have a form that uses an action and should return Result ok(). My problem is that when it does return ok() it sends me to the URL mapped on the routes file, even though it should remain on the same page."
我看不出有什么问题。如果您只是 return 一个 OK / HTTP 状态代码 200,您的 client/browser 将得到准确的结果。 Play 的路由发生在操作被调用之前。也许你在你的 JavaScipt 中做了一些在你的表单成功提交后被激活的事情?
"Also, how can I make it so that when the action doesn't go into the 'if' nothing happens, since it always says that I need to return a Result? Is there a Result return that does nothing ?"
你必须return一个结果。但是如果你只是想告诉你的客户端失败 POST 你可以考虑 400er 状态代码之一,例如400 / 错误请求。在播放其 return badRequest()
.
我正在使用 Play 2.3.1 Java
我有一个使用动作的表单,应该 return 结果 ok()。 我的问题是,当它执行 return ok() 时,它会将我发送到路由文件上映射的 URL,即使它应该保留在同一页面上。
我该如何解决 this/What 我做错了吗?
我的代码:
动作
public static Result postComment(){
CommentModel comment = Form.form(CommentModel.class).bindFromRequest().get();
comment.author = loggedUser;
if(!comment.content.isEmpty()){
return ok();
}
return null;
}
路线
POST /postComment controllers.Application.postComment()
形式
<form action="@routes.Application.postComment()" method="post">
<label for="comment" class=required>Your comment</label>
<textarea rows="2" name="content"></textarea>
<br/>
<button class="btn btn-primary">Comment</button>
</form>
此外,我怎样才能做到,当操作没有进入 'if' 时什么也不会发生,因为它总是说我需要 return 一个结果?是否有什么都不做的结果 return?
"I have a form that uses an action and should return Result ok(). My problem is that when it does return ok() it sends me to the URL mapped on the routes file, even though it should remain on the same page."
我看不出有什么问题。如果您只是 return 一个 OK / HTTP 状态代码 200,您的 client/browser 将得到准确的结果。 Play 的路由发生在操作被调用之前。也许你在你的 JavaScipt 中做了一些在你的表单成功提交后被激活的事情?
"Also, how can I make it so that when the action doesn't go into the 'if' nothing happens, since it always says that I need to return a Result? Is there a Result return that does nothing ?"
你必须return一个结果。但是如果你只是想告诉你的客户端失败 POST 你可以考虑 400er 状态代码之一,例如400 / 错误请求。在播放其 return badRequest()
.