【问题标题】:Change asynchronous post to normal MVC post which is synchronous将异步帖子更改为同步的普通 MVC 帖子
【发布时间】:2023-03-06 05:37:01
【问题描述】:

在我们的 mvc 项目中,我们有一个易于解决的 ajax post 问题。 Customer 对象有一个 Model 类,其中一个属性是 CustomerPicture。客户正确填写表格后,他/她像往常一样点击保存按钮。为了将图像发布到服务器端,我们使用 jquery 插件https://github.com/blueimp/jQuery-File-Upload 来处理我们复杂的业务策略以及客户对象的其他属性的特殊问题。这个插件使用 ajax post,但我们想防止这种情况发生,并且由于我们的业务策略,我们想让它成为一个普通的 mvc 帖子。

data.submit();  // asynchronous post is triggered here by BlueImp jQuery Upload's default

我将上面的默认代码更改为下面的代码,但它不起作用。

data.submit(function(){
    $('#frm_create_customer').submit();
});

我们问题的总结是将异步帖子更改为同步的普通服务器帖子。 希望你能做一些有效的事情。问候。

【问题讨论】:

  • 为什么不能使用常规文件输入并完全删除data.submit()?

标签: javascript c# asp.net-mvc-4


【解决方案1】:

根据 jquery docs :$.ajax() 的 async 选项默认为 true,表示在发出请求后可以继续执行代码。强烈建议不要将此选项设置为 false(从而使调用不再是异步的),因为它会导致浏览器无响应。

您可以将此选项设为 false 。 您还可以将 ajax 的所有异步选项更改为 false,然后在调用后将其恢复为 true ... 您也可以使用 $.ajaxSetup() 。这也将使所有后续的 ajax 调用为 false ..

但我同意之前的回答,文件上传可能不会异步完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 2011-11-09
    • 2011-10-21
    相关资源
    最近更新 更多