Well I have replicated your set up and each time I am able to retrieve the variable set within $_POST. I have also avoided amending names as you stated that the session is being correctly captured in a similar question.
I was able to reproduce the error by setting the namer variable to undefined or by trying to retrieve a value which was not present.
Since I was able to send the variable namer as long as it is set then you will have to do a couple of things.
Check if the namer variable is set, perhaps client and server side. That is in javascript you would test if the variable is not undefined or in php you would check if $_POST['namer'] is set.
Your session may expire and therefore you are trying to retrieve a value that ofcourse is no longer there, this could be dependent upon which library you are using or settings you declared when creating the session
In both instances you will experience the same error and by doing some logic you will avoid this error.
Server side check - PHP:
if(isset($_POST['namer'])){
echo $_POST['namer'];
}else{
echo "session capture unsuccessful";
}
Client side check - Javascript:
var namer = sessionStorage.getItem("namer");
if (typeof namer === "undefined")
console.log("your session is not set");
} else{
// you could place your ajax request here
// or you could set the namer variable to a default value
}
Please if possible develop your web applications locally as it is easier to debug and as a final note it may be easier to use console.log(yourError) for debugging purposes rather than alert(yourError).