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

Reply via email to