Ваш код внутри обратного вызова sendRequest.onreadystatechange
? Даже если вы не ожидаете возврата 200, он должен быть в пределах этого обратного вызова.
Попробуйте
sendRequest.onreadystatechange=function(){
//DEBUG
alert("ready state change: "+ sendRequest.readyStat);
if (sendRequest.readyState == 4) {
alert("form sended");
window.location = "http://www.mywebsite.com";
}
}
И Pointy прав: серверная сторона не будет работать по двум основным причинам: одна из них уже отправила заголовок для страницы, выполняющей запрос, и поскольку запрашиваемая страница является AJAX, поэтому только запрашиваемая страница изменится, а не текущая. .
[EDIT]
Вы проверили консоль ошибок? Кроме того, эта страница включает случайно кадры?
[РЕДАКТИРОВАТЬ 2]
Я создал jsbin для этого, и он работает на Firefox и Chrome ... http://jsbin.com/umufi4/2/edit
Я вполне уверен, что проблема заключается не в изменении местоположения, если вы используете 'http://' напротив него, а в том, как создается ваш sendRequest. Вот некоторые ошибки, которые я обнаружил. Я уверен, что они связаны с jsbin и удаленным доступом, но если они существуют на вашем конце, это может помешать ему добраться до window.location
ОШИБКА:
Отказался устанавливать небезопасный заголовок «Соединение»
XMLHttpRequest не может загрузить http://jromero.me/. Origin http://jsbin.com не разрешен Access-Control-Allow-Origin.
jromero.meНе удалось загрузить ресурс
У меня есть несколько вопросов:
- Это междоменный запрос?
- Вы получаете окно с предупреждением "Отправить"?
- Является ли sendRequest глобальной переменной?