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

标签 javascript jquery post

我正在使用标准表单/操作来发布到 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/

相关文章:

javascript - 相当于 jQuery .is() 的 JS

javascript - 取表行隐藏字段值?

javascript - 了解 Express.js 中间件优先级

javascript - 单击时选择 HTML 文本输入中的所有文本

javascript - 如何检查 html 是否看起来 'empty'

php - 如何在 wordpress 中按存在的缩略图显示帖子顺序?

php - 如何处理向服务器请求很多动态图片?

php - Laravel 5 中的 Ajax 表单与文件一起提交

post - 无法使用 Kafka Rest 代理创建 Kafka 主题 - HTTP 415 不支持的媒体类型 javax.ws.rs.NotSupportedException

php - 取消设置 php session 变量