【问题标题】:upload file using jquery in pyramid在金字塔中使用jquery上传文件
【发布时间】:2016-08-25 13:35:18
【问题描述】:

我想使用 ajax 上传文件:
HTML:

<input type="file" name="photo" id="photo" />
<input type="button" value="Upload" id="btnUpload" />

脚本:

$(document).ready(function (){
        var file_to_upload;

    $('#photo').change(function() {
            file_to_upload = this.files[0];
        });

        $('#btnUpload').click(function () {
               var formData = new FormData();
                formData.append('photo', file_to_upload);
                $.ajax({
                    url: '/post_file',
                    type: 'POST',
                    data: {'photo' : formData},
                    cache: false,
                    contentType: false,
                    processData: false,
                    enctype: "multipart/form-data",
                    success: function () {
                    }
                }, 'json');
            });
    });

在py文件中:

@view_config(route_name='ajax_post_file', renderer='json')
def live_search(request):
post_data = request.POST

但 request.Post 说:

NoVars:不是 HTML 表单提交(Content-Type:text/plain)

【问题讨论】:

    标签: python ajax file-upload pyramid


    【解决方案1】:

    我无法测试,但确实看到了一些错误。试试这个装饰器

    @view_config(name='post_file', renderer='json')
    

    【讨论】:

    • 我试过你的想法,但这不是原因。实际上我有一个向这个函数发送请求的路由器。 config.add_route('ajax_post_file', '/post_file')
    • 我明白了。用我的方式你不需要添加路线。对我来说更干净一点。但这并不能回答您的问题; ;)
    【解决方案2】:

    尝试在 Ajax 调用中更改为这个

    data: formData,
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-13
      相关资源
      最近更新 更多