使用 JS 或 jQuery 处理表单提交时的 500 错误?

2024-02-24

我正在使用标准表单/操作来发布到宁静的网络服务,由于表单的大小和构成,我尝试不使用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>

阿贾克斯代码:

$('#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 响应!如果是500,则将用户重定向到另一个页面!但请记住,您不能使用 jQuery 来检查默认提交过程的 HttpResponseCode!

如果你开始学习的话那就更好了web.config。这是您管理错误以及服务器如何响应错误和其他条件的其他自定义的文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JS 或 jQuery 处理表单提交时的 500 错误? 的相关文章

随机推荐