Olá pessoal! É meu primeiro post aqui no forum e já tentei procurar em vários foruns e no google e não consegui achar a solução para meu problema.
É o seguinte:
Tenho um script ajax para carregar o conteudo dinamicamente, porém as páginas do conteúdo seriam .php!
Meu código ajax é esse:
try{
xmlhttp = new XMLHttpRequest();
}catch(ee){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}
}
atual=0
function carrega(n){
//Exibe o texto carregando no div conteúdo
var conteudo=document.getElementById("conteudo")
conteudo.innerHTML='<div class="carregando">Carregando...</div>'
//Guarda a página escolhida na variável atual
atual=n
//Abre a url
xmlhttp.open("GET", "ajax.php?n="+n,true);
//Executada quando o navegador obtiver o código
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4){
//Lê o texto
var texto=xmlhttp.responseText
//Desfaz o urlencode
texto=texto.replace(/\+/g," ")
texto=unescape(texto)
//Exibe o texto no div conteúdo
var conteudo=document.getElementById("conteudo")
conteudo.innerHTML=texto
}
}
xmlhttp.send(null)
}
function menuclick(e){
//Correção para eventos quebrados da Microsoft
if(typeof(e)=='undefined')var e=window.event
source=e.target?e.target:e.srcElement
//Correção para o bug do Konqueror/Safari
if(source.nodeType==3)source=source.parentNode
//Obtém o número quebrando a url
n=source.getAttribute("href").replace(/.*=/g,"")
//Chama o carrega
carrega(parseInt(n))
//Cancela o click (evita a navegação)
return false
}
function init(){
//Obtém os links do menu
var links=document.getElementsByClass("ajax")
//Atribui o evento
for(var i=0;i<links.length;i++)
links[i].onclick=menuclick
}
if(xmlhttp)window.onload=init
E o ajax.php é assim:
function leconteudo($n){
return file_get_contents("listar.php?cat=$n");
}
if(isset($_GET["n"])){
$t=leconteudo($_GET["n"]);
echo(urlencode($t));
}
Então, quando meus links pedem pra carregar uma página php acontece erros e se tentar passar variáveis via get, ele tenta procurar o arquivo inteiro por ex:
Warning: file_get_contents(listar.php?cat=1) [function.file-get-contents]: failed to open stream: Invalid argument in C:\Program Files (x86)\EasyPHP 2.0b1\www\MDR\php\ajax.php on line 10
Pergunta
Kutxitxo
Olá pessoal! É meu primeiro post aqui no forum e já tentei procurar em vários foruns e no google e não consegui achar a solução para meu problema.
É o seguinte:
Tenho um script ajax para carregar o conteudo dinamicamente, porém as páginas do conteúdo seriam .php!
Meu código ajax é esse:
try{ xmlhttp = new XMLHttpRequest(); }catch(ee){ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ xmlhttp = false; } } } atual=0 function carrega(n){ //Exibe o texto carregando no div conteúdo var conteudo=document.getElementById("conteudo") conteudo.innerHTML='<div class="carregando">Carregando...</div>' //Guarda a página escolhida na variável atual atual=n //Abre a url xmlhttp.open("GET", "ajax.php?n="+n,true); //Executada quando o navegador obtiver o código xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4){ //Lê o texto var texto=xmlhttp.responseText //Desfaz o urlencode texto=texto.replace(/\+/g," ") texto=unescape(texto) //Exibe o texto no div conteúdo var conteudo=document.getElementById("conteudo") conteudo.innerHTML=texto } } xmlhttp.send(null) } function menuclick(e){ //Correção para eventos quebrados da Microsoft if(typeof(e)=='undefined')var e=window.event source=e.target?e.target:e.srcElement //Correção para o bug do Konqueror/Safari if(source.nodeType==3)source=source.parentNode //Obtém o número quebrando a url n=source.getAttribute("href").replace(/.*=/g,"") //Chama o carrega carrega(parseInt(n)) //Cancela o click (evita a navegação) return false } function init(){ //Obtém os links do menu var links=document.getElementsByClass("ajax") //Atribui o evento for(var i=0;i<links.length;i++) links[i].onclick=menuclick } if(xmlhttp)window.onload=initE o ajax.php é assim:function leconteudo($n){ return file_get_contents("listar.php?cat=$n"); } if(isset($_GET["n"])){ $t=leconteudo($_GET["n"]); echo(urlencode($t)); }Então, quando meus links pedem pra carregar uma página php acontece erros e se tentar passar variáveis via get, ele tenta procurar o arquivo inteiro por ex:
Warning: file_get_contents(listar.php?cat=1) [function.file-get-contents]: failed to open stream: Invalid argument in C:\Program Files (x86)\EasyPHP 2.0b1\www\MDR\php\ajax.php on line 10
Alguma solução? q.w
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.