5

I seem not to get additionally data added to "formData".

First i add my input file:

var form = $('#uploadForm')[0];
var formData = new FormData(form);

var input = $("#uploadPhoto")[0];
//Add input file data to formData
formData.append(input.name, input.files[0]);

This works just fine.
And my PHP var_dump after "ajax call" results:

array(1) {
  ["uploadPhoto"]=>
  array(5) {
    ["name"]=>
    string(5) "1.xls"
    ["type"]=>
    string(24) "application/vnd.ms-excel"
    ["tmp_name"]=>
    string(40) "..../tmp/phpmyn3E1"
    ["error"]=>
    int(0)
    ["size"]=>
    int(42799)
  }
}

Now i'd like to add some extra data for passing on to the php script:

formData.append('usr', selectedUsr);
formData.append(input.name, selectedUsr);
formData.append('usr', 'usr: '+ selectedUsr);

When i now check my PHP var_dump, there is no "usr" data in array.
Why?

2 Answers 2

7

When u append:

formData.append('usr', selectedUsr);

You cannot access the object with $_FILES['uploadPhoto']

Instead i access with $_POST

So my solution was:

//JS
formData.append('usr', selectedUsr);
//PHP
$usr = $_POST['usr'];
Sign up to request clarification or add additional context in comments.

Comments

1

I think you are checking only $_FILES , also check post data print_r($_POST)

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.