ajax formdata:非法调用

前端之家收集整理的这篇文章主要介绍了ajax formdata:非法调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试为Symfony 2制作ajax脚本进行上传.Chrome返回此错误

Uncaught TypeError: Illegal invocation jquery.min.js:4

我认为这是因为FormData对象没有正确构造(我尝试使用.serialized()的脚本:

$(document).ready(function() {
  $('#formImage').submit(function(event) {
    event.preventDefault();
    // appel Ajax
    alert("ajax");

    var input = document.getElementById("rasta_blogbundle_imagetype_file");
    console.log(input); 
    var formdata = false;  

    if (window.FormData) {  
        formdata = new FormData();
        console.log('formdata initialized ...');  
    }
    else{
        console.log('formdata not supported');
    }

    formdata.append('name',$('#rasta_blogbundle_imagetype_name').val());
    console.log(formdata);
    formdata.append('file',input);
    formdata.append('_token',$('#rasta_blogbundle_imagetype__token').val());
    console.log(formdata);    
    //alert(DATA);

    if (formdata){  
        $.ajax({
            url: $(this).attr('action'),// le nom du fichier indiqué dans le formulaire
            type: $(this).attr('method'),// la méthode indiquée dans le formulaire (get ou post)
            cache: false,//data : $(this).serialize(),data: formdata,success: function(data) { // je récupère la réponse du fichier PHP
                $('#myModal').html(data);
                console.log('ok');
            }        
            //return false; //
        }); 
    }
  });
});
jQuery尝试将FormData对象转换为字符串,将其添加到$.ajax调用中:
processData: false,contentType: false

猜你在找的Ajax相关文章