我正在使用标准表单/操作来发布到 restful web 服务,由于表单的大小和构成,我尽量不使用 ajax。有没有办法将错误处理附加到表单提交?请参阅下面我当前的代码。
<form id="theForm"
action="rest/url"
method="post"
enctype="multipart/form-data">
</form>
$("#theForm").submit(function(e){
// Can anything be done to handle 500s here?
});
这是休息服务。
@POST
@Path("/save")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void save(
@FormDataParam("iD") Integer iD,
....
@FormDataParam("file") InputStream inputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail
{
// void to avoid redirect
// exceptions return 500
throw new ServerException(500);
}
最佳答案
试试这个:
<form method="post" id="form>
</form>
Ajax 代码:
$('#form').submit(function () {
$.ajax({
url: 'your_url.html',
data: 'some_data=somevalue',
success: function (response) {
// it was a success!
}
error: function () {
// it was an error!
}
});
});
请注意,您无法处理正常的提交过程! HTTP 响应只能检查 ajax 请求。无法处理简单的表单提交!
您可以在提交按钮点击时执行上述代码!
不想使用 Ajax?
如果您不想使用ajax,那么您需要使用服务器端代码。并检查来自服务器的 HTTP Resonse!如果是 500,则将用户重定向到另一个页面!但请记住,您不能使用 jQuery 来检查默认提交过程的 HttpResponseCode!
最好开始学习web.config
。这是您管理错误以及服务器如何响应错误和其他条件的其他自定义的文件。
关于javascript - 使用 JS 或 jQuery 处理表单提交时的 500 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21147490/