账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    ajax提交图片时报错 Illegal invocation
    • 2018-03-04 00:00
    • 11
    71
    0

    最近在学习django,目前想要实现一个无需刷新页面就可以上传头像的功能。前端上传图片裁剪使用的是cropper插件,然后转换成blob通过ajax方法上传。但是上传时会报错Illegal invocation,我通过查询网上的解决方法添加了processData和contentType,但是不起作用。ajax上传部分代码如下,希望大神们能给予指导。

    $("#image").cropper('getCroppedCanvas').toBlob(function(blob){
            var formdata = new FormData();
            formdata.append('files',blob,'test_name');
    
            $.ajax( {
                url:url,
                type: "POST",
                data: formdata,
                processData:false,
                contentType: false,
    
                success: function(){
                    // do something
                },
                error: function(){
                    // do something
                }
            }) 
         });
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • ヒ─━═昔吡ε 普通会员 1楼

      这个错误通常发生在尝试通过AJAX提交一个图像文件时,这个文件的格式不符合AJAX的要求。AJAX需要一个特定的请求方法(通常是GET或POST),并且需要在HTTP请求头中添加"Content-Type"属性,指定文件的类型。

      如果你的服务器返回了一个非法的响应,那么这个错误就会发生。你应该检查服务器的响应代码,看看是否返回了这个错误。如果是,你可能需要检查服务器的配置,看看是否允许上传特定类型的文件。

      如果你的服务器允许上传任何类型的文件,那么你应该检查服务器的"Content-Type"属性,确保它是一个有效的字符集(例如,通常是"image/jpeg"或"image/png")。

      如果你的服务器不允许上传特定类型的文件,那么你应该检查服务器的"Content-Type"属性,确保它是一个有效的字符集(例如,通常是"multipart/form-data"或"application/json")。

      如果你仍然无法解决这个问题,那么你应该尝试联系你的服务器提供商,让他们知道你遇到的问题,并提供你的代码和服务器配置。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部