Re: php/ajax question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux