For some reason I can't get the post variables from the controller
The AJAX/Javascript
function uploadImage(userActionPath,type)
{
if( (userActionPath == 'undefined') || (type == 'undefined')) {
console.error("no parameters for function uploadImage defined");
}
if((base64code == 'undefined') || (base64code == null))
{
console.error("please select an image");
}
var xml = ( window.XMLHttpRequest ) ?
new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
alert(base64code); //<- shows the base64 code, so its there
var params = userActionPath+"?imagebase64="+base64code+"&type="+type;
xml.open("POST",userActionPath,true);
xml.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xml.onreadystatechange = function()
{
if( xml.readyState === 4 && xml.status === 200 )
{
var serverResponse = JSON.parse(xml.responseText);
switch(serverResponse.f)
{
case 0:
console.log('love sosa'); //<- I get the response
break;
}
}
};
xml.send(params);
}
The controller
class LiveuploadController extends Controller
{
/**
* @Route("/LiveUpload",name="fileLiveUpload")
* @Template()
*/
public function indexAction(Request $request)
{
//I have tried these but 'imagebase64' returns null
//returns null
$value = $request->request->get('imagebase64');
//returns null
$value = $request->query->get('imagebase64');
//returns null
$value = $this->get('request')->request->get('imagebase64');
$response = array('f'=>0,'base64'=>$value);
return new Response(json_encode($response));
}
}
The request headers also show that the variables are being sent.But both the type AND the imagebase64 variables return null on the controller