In case anybody wonders what was wrong:
ret.setRequestHeader('Content-type','application/x-www-form-urlencode');
Should have been "x-www-form-urlencoded", with a "d" in the end:
ret.setRequestHeader('Content-type','application/x-www-form-urlencoded');
sending a formalized object is now working, and I can get rid of jQuery