Когда вы используете пустую строку в переменной domainName, вызов ajax будет корректным, а замена - нет.
Если вы называете это правильно. Например:
submitPOST (id, api, login )
Попробуйте использовать console.log (или другой инструмент отладки), чтобы показать вам URL перенаправления.
Кстати, JSON.parse создает исключение в вашем случае. Поместите его в блок try-catch
function login(input){
try {
var response=JSON.parse(input);
document.cookie="atoken="+response['data'];
console.log('redirect to', domainName);
document.location.replace(domainName);
} catch(e) {
console.error('error in login process',e);
}
}