Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou usando a seguinte função para executar o AJAX -> Select(aPais, aEstado, aQuery, aIDResposta). Na Parte Javascript todos os parâmetros estão sendo passados corretamente como pode ser visto no alert.
Porém na parte da resposta do php, o arquivo ajax.php diz que a variável $_REQUEST['myEstado'] não existe.
Alguém sabe onde está o erro?
Vejam os arquivos de exemplo:
arquivo teste.php:
<script>function AJAX(URL, IDResposta){ oXHR = null; if(window.XMLHttpRequest){ oXHR = new XMLHttpRequest(); }else if(window.ActiveXObject){ var XmlHttp = ['Msxml2.XMLHTTP', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Microsoft.XMLHTTP']; for(var i=0; i<XmlHttp.length; i++){ try{ oXHR = new ActiveXObject(XmlHttp[i]); break; }catch(exception){ oXHR = false; } } }else{ oXHR = false; } if(!oXHR){ document.write("Esse browser não suporta o uso do objeto XmlHttp"); }else{ oXHR.onreadystatechange = function(){ oResponse = document.getElementById(IDResposta); //todos os dados foram recebidos if(oXHR.readyState == 4){ //se status retornado está ok if(oXHR.status == 200){ oResponse.innerHTML = oXHR.responseText; }else{ document.write("Ocorreu um erro ao obter os dados:<br />" + "Nº do erro: <b>" + oXHR.status + "</b><br />" + "Título do erro: <b>" + oXHR.statusText + "</b><br /><br />" + "Mais informações em:<br />" + "<a href='[http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html'>clique](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) aqui</a>"); } } } oXHR.open("GET", URL, true); oXHR.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1"); oXHR.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); oXHR.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); oXHR.setRequestHeader("Pragma", "no-cache"); oXHR.send(null); }}</script><script>function Select(aPais, aEstado, aQuery, aIDResposta){ alert('Variável myPais = '+aPais+'\r\nVariável myEstado = '+aEstado+'\r\nVariável myQuery = '+aQuery); AJAX("ajax.php?myPais="+aPais+"&myEstado"+aEstado+"&myQuery="+aQuery, aIDResposta);}</script><select onchange="Select(this.value, 'abc', 1, 'estados');"> <option value="AR">Argentina</option> <option value="BR">Brasil</option> <option value="PY">Paraguay</option></select><div id="estados"> resposta aqui.</div>
arquivo ajax.php:
<?phpheader("Content-Type: text/html; charset=ISO-8859-1", true);if(isset($_REQUEST['myPais'])){ echo " - " .$_REQUEST['myPais']. "<br />";}else{ echo "nada <br />";}if(isset($_REQUEST['myEstado'])){ echo " - " .$_REQUEST['myEstado']. "<br />";}else{ echo "nada <br />";}if(isset($_REQUEST['myQuery'])){ echo " - " .$_REQUEST['myQuery']. "<br />";}else{ echo "nada <br />";}?>
--------
Obrigado!
Carregando comentários...