Ajax image upload with media_handle_upload and form.js

From my experience if an ajax call in wordpress returns 0, it means that ajax can’t find the related php function, so check three times that the function you point to in ‘add_action’, function name and the action of your form do match.

I usually include an action attribute in the ajaxSubmit options as well, maybe it solves your problem. Just add action : ‘my_ajax_upload’ to the options array.

Since you have
If you get -1 instead of 0, it means that the nonce check (check_ajax_referer($nonce)) failed.