Async:false不使用contentType:false和processData:false

时间:2014-02-25 18:01:41

标签: jquery asp.net-mvc asp.net-mvc-4 asynchronous

我需要向控制器提交一个图像和一些数据,我需要ajax等待处理我的数据,这样你就可以在数据保存到我的数据库后显示在另一个页面中,但是当我使用async时它已经属于属性中的ajax错误,任何想法如何解决这个问题?

我的代码:

var album;
$('#buttonNex').click(function () {
            var url = 'NextPage';
            var fd = new FormData();
            fd.append('file', $('#imageSe')[0].files[0]);
            fd.append('title', $('#inputitle').val());
            fd.append('artist', $('#inputArtist').val());
            fd.append('twitter', $('#inputTwitter').val());
            $.ajax({
                url: url,
                type: 'POST',
                data: fd,
                async: false,
                cache: false,
                contentType: false,
                processData: false,
                success: function (data) {
                    album = data.data;
                },
                error: function (jqXHR, textStatus, errorThrown) {
                console.log(textStatus, errorThrown);
            }
            });
});

1 个答案:

答案 0 :(得分:0)

https://api.jquery.com/jquery.ajax/#jQuery-ajax-settings有注释

  

跨域请求...请求不支持同步操作。

这是一个因素吗?

对于“为什么contentType: false”,同一页面上也有注释

  

从jQuery 1.6开始,您可以传递false来告诉jQuery不要设置任何内容类型标头。

有一个我必须使用的服务器,它需要多部分内容而没有边界字符串。 (没有qp可以评论)