On Saturday 30 December 2006 18:56, tedd wrote:
> Why can't the php script redirect the browser when called via ajax ?
The browser will not be expecting a page back, and will ignore headers. The
response must be handled by a function you define.
For the sake of a quick demo, if your php accepts an action via GET and
simply prints the location for the redirect, you can do it at the client
end.
// example code
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
if (request == null) alert("Error creating request object!");
}
function sndReq(action) {
createRequest();
var url = "a.php?action=" + action + "&dummy=" + new Date().getTime();
// random stuff at the end is hack to get round browser response
cacheing
request.open("GET",url);
request.onreadystatechange = updateReq;
request.send(null);
}
function updateReq() {
if (request.readyState == 4) {
var newLocation = request.responseText;
window.location = newLocation;
}
}
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php