Jquery and HTML FormData returns “Uncaught TypeError: Illegal invocation”

前端 未结 5 2002
清歌不尽
清歌不尽 2020-11-29 03:02

I\'m using this script to upload my image files: http://jsfiddle.net/eHmSr/

$(\'.uploader input:file\').on(\'change\', function() {
  $this = $(this);

  $(\         


        
相关标签:
5条回答
  • 2020-11-29 03:42

    In my case, there was a mistake in the list of the parameters was not well formed. So make sure the parameters are well formed. For e.g. correct format of parameters

    data: {'reporter': reporter,'partner': partner,'product': product}
    
    0 讨论(0)
  • 2020-11-29 03:49

    jQuery processes the data attribute and converts the values into strings.

    Adding processData: false to your options object fixes the error, but I'm not sure if it fixes the problem.

    Demo: http://jsfiddle.net/eHmSr/1/

    0 讨论(0)
  • 2020-11-29 03:49

    i had same problem i fixed that with using two options

    contentType: false
    processData: false
    

    Actually I Added these two command to my $.ajax({}) function

    0 讨论(0)
  • 2020-11-29 03:57

    My experience:

      var text = $('#myInputField');  
      var myObj = {title: 'Some title', content: text};  
      $.post(myUrl, myObj, callback);
    

    The problem is that I forgot to add .val() to the end of $('#myInputField'); this action makes me waste time trying to figure out what was wrong, causing Illegal Invocation Error, since $('#myInputField') was in a different file than that system pointed out incorrect code. Hope this answer help fellows in the same mistake to avoid to loose time.

    0 讨论(0)
  • 2020-11-29 03:58

    Adding processData: false to the $.ajax options will fix this issue.

    0 讨论(0)
提交回复
热议问题