1

Hi I'm trying to pass a blob in data inside $.ajax

var blob = new Blob([content], { type: 'text/plain;charset=utf-8' });
        $.ajax({
            url: "myurl",
            type: 'POST',
            dataType: 'json',
            data: {
                'test': true,
                'jsonFile': jsonFile,
                'htmlFile': blob,
            },
            success: function(response) {     
                $('#msg').addClass('success');
            }
        });

return this error Uncaught (in promise) TypeError: Failed to execute 'arrayBuffer' on 'Blob': Illegal invocation

If i delete 'htmlFile': blob, works fine but i must pass a blob.

I read other thread i tried to use :

  • processData: false, contentType: false, -> the error disappears but the variables in post are empty
  • var formdata = new FormData() to format in exact way the data but don't work

Do you have another idea?

1 Answer 1

2

Adding processData: false should resolve the issue, as this instruction stops jQuery from stringifying the data.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.