【问题标题】:AJAX.BEGINFORM OnSuccess not firing if using enctype = "multipart/form-data"如果使用 enctype = "multipart/form-data",AJAX.BEGINFORM OnSuccess 不会触发
【发布时间】:2018-05-31 09:31:52
【问题描述】:

我相信你很好,如果我使用以下代码,目前我在尝试完成 OnSuccess(或任何其他后期操作)时遇到问题:

(查看)

using(Ajax.BeginForm("ManualEntryCreate", null, new AjaxOptions
{
  HttpMethod = "Post",
  OnSuccess = "alert('test');"}, new { enctype = "multipart/form-data"}))
{
  etc

一切正常,选择的文件被传递给控制器​​中的方法(我实际上并没有上传文件,只是将选择的文件名传递到数据库中)

但是,在返回 OnSuccess(或任何例如 OnComplete)时不会触发。

如果我删除

new { enctype = "multipart/form-data"}

OnSuccess 有效,但我需要将包含所选文件的变量传递给方法,因此我需要添加 enctype 组件。我检查了网络/控制台日志,并且发送回 JSON 响应没有问题。只是没有触发任何 On'X' 后完成事件。

这仅仅是 Ajax.BeginForm 的一个限制,还是我在这里遗漏了一些基本的东西?任何建议表示赞赏!

【问题讨论】:

    标签: model-view-controller enctype


    【解决方案1】:

    我的错 - 我使用 Windows.EventListener 拦截了请求(遗留代码),阻止了默认行为的发生。只有当我尝试提交多部分表单时它才会激活。

    【讨论】:

      猜你喜欢
      • 2012-12-23
      • 2017-12-17
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 2010-11-05
      • 2014-12-09
      相关资源
      最近更新 更多