Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jabba

<? include ?> dentro de um ajax

Recommended Posts

Estou fazendo um site php/html/ajax e estou usando o ajax para carregar o conteudo dentro de uma DIV. So que o codigo <?php include'i.php'; ?> nao funciona dentro da pagina carregada na DIV.

 

 

ajax.js

CODE
//INICIALIZA AS VARIAVEIS PARA CONTROLE DA FILA

var ifila = 0

var fila = new Array();

//fila[X][0] - Div onde sera carregada a pagina

//fila[X][1] - Pagina que sera chamada

//fila[X][2] - Metodo de envio

//fila[X][3] - Campos do form concatenados no padrao para serem enviados. Null caso seja um link

 

 

 

//INICIALIZA O OBJETO QUE IRA FAZER AS SOLICITACOES

try{

xmlhttp = new XMLHttpRequest();// Mozilla, Safari, Firefox, etc...

try {

if (xmlhttp.overrideMimeType) {

//Se possível, ignora cabecalho usado pelo servidor e forca o padrao "text/xml". Alguns navegadores exigem esse padrao e pode dar erro se o servidor nao utilizar ele

xmlhttp.overrideMimeType('text/xml');

}

} catch (e1) { }

}catch(e2){

try{

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");// Internet Explorer

}catch(e3){

try{

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");// Internet Explorer

}catch(e4){

//tratamento para alguma outra forma de implementar XMLHTTP

xmlhttp = false;

}

}

}

if (!xmlhttp){

//Nao conseguiu instanciar o objeto xmlhttp para fazer as solicitacoes

alert("AJAX error. Your browser must support XMLHttpRequest object or enable use of scripting.");

}

 

 

 

//GUARDA NA FILA O ID DO OBJETO E A URL QUE SERAO CARREGADOS PELO LINK CLICADO

function ajaxLink(id_target,url){

//Exibe mensagem de que esta carregando a pagina no objeto de ID informado

ajaxMensagemCarregando(id_target);

 

//Adiciona a solicitacao na fila

fila[fila.length]=[id_target,url,"GET",null];

 

//Se nao tem conexoes na fila, inicia a execucao

if(fila.length==1){

ajaxRun();

}

return;

}

 

 

 

//GUARDA NA FILA O ID DO OBJETO E O FORM QUE SERAO CARREGADOS PELO LINK CLICADO

function ajaxForm(id_target,id_form){

//Pega a pagina que sera chamada pelo form

var url = document.getElementById(id_form).action;

//Busca metodo de envio definido no form

var metodoEnvio = document.getElementById(id_form).method.toUpperCase();

//Busca os elementos do form que serao enviados para a pagina solicitada

var elementos_form = BuscaElementosForm(id_form);

 

//Exibe mensagem de que esta carregando a pagina no objeto de ID informado

ajaxMensagemCarregando(id_target);

 

//Adiciona a solicitacao na fila

fila[fila.length]=[id_target,url,metodoEnvio,elementos_form];

 

//Se nao tem conexoes na fila, inicia a execucao

if(fila.length==1){

ajaxRun();

}

return;

}

 

 

 

//EXECUTA A PROXIMA SOLICITACAO DA FILA

function ajaxRun(){

var url = fila[ifila][1];

 

//Define o metodo de envio (GET ou POST)

var metodoEnvio;

if (fila[ifila][3]==null){

//Se for Link, utiliza GET

metodoEnvio = "GET";

}else{

//Se for Form, define o metodo de envio e prepara a url

metodoEnvio = fila[ifila][2];

if (metodoEnvio=="" || metodoEnvio==null){

//Se nao tiver definido nada, usa POST

metodoEnvio = "POST";

}

if (metodoEnvio=="GET"){

//Metodo GET passa as informacoes na linha da url

url = url + "?" + fila[ifila][3];

}

}

 

//Abre a conexao

xmlhttp.open(metodoEnvio,url,true);

 

//Seta as funcoes que irao tratar a mudanca de estado do objeto XMLHTTP

xmlhttp.onreadystatechange=ajaxXMLHTTP_StateChange;

 

//Executa a solicitacao

if (metodoEnvio=="POST"){

//Metodo POST precisa definir este RequestHeader

xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

//Metodo POST passa as variaveis pelo metodo Send

xmlhttp.send(fila[ifila][3]);

}else{

xmlhttp.send(null);

}

return;

}

 

 

 

//FUNCAO EXECUTADA QUANDO ALTERAR O STATUS DA SOLICITACAO (readyState)

function ajaxXMLHTTP_StateChange() {

//0-Nao inicializado, 1-Carregando, 2-Carregado, 3-Interativo, 4-Completo

if (xmlhttp.readyState==1){

ajaxXMLHTTP_StateChange_Carregando(fila[ifila][0]);//Quando iniciar a solicitacao

}else{

if (xmlhttp.readyState==4){

ajaxXMLHTTP_StateChange_Completo(xmlhttp, fila[ifila][0]);//Quando estiver completa a solicitacao

}

}

}

 

 

 

//FUNCAO EXECUTADA QUANDO INICIAR A SOLICITACAO (readyState=1)

function ajaxXMLHTTP_StateChange_Carregando(id){

//Exibe mensagem de que está carregando a página no objeto de ID que solicitacao esta sendo feita

ajaxMensagemCarregando(id);

return;

}

 

 

 

//FUNCAO EXECUTADA QUANDO A SOLICITACAO ESTIVER COMPLETA (readyState=4)

function ajaxXMLHTTP_StateChange_Completo(xmlhttp, id){

var retorno;

 

//Verifica o status da pagina de retorno

if (xmlhttp.status == 200 || xmlhttp.status==0) {

//Caso o status seja 200(Sucesso) ou nao utilize servidor(chamada local [C:\...]), trata o valor retornado

retorno=unescape(xmlhttp.responseText.replace(/\+/g," "));

}else{

//Caso o status ainda nao foi tratado, chama a funcao de tratamento de pagina de erro

retorno=ajaxPaginaErro(xmlhttp);

}

//Exibe o valor retornado no objeto de ID informado

document.getElementById(id).innerHTML=retorno;

// executa scripts

ExtraiScript(retorno);

 

//passa para a proxima posicao da fila

ifila++;

if(ifila<fila.length){

//Caso tenha mais solicitacoes na fila, executa a proxima

setTimeout("ajaxRun()",20);

}else{

//Caso nao tenha mais solicitacoes na fila, reinicia a fila

fila = null;

fila = new Array();

ifila = 0;

}

return;

}

 

 

 

//FUNCAO PARA RETORNAR A MENSAGEM DE ERRO QUANDO O SERVIDOR RETORNAR UMA PAGINA DE ERRO

function ajaxPaginaErro(xmlhttp){

var retorno;

switch (xmlhttp.status) {

case 404:

return "Página não encontrada!!!";

break;

case 500:

return "Erro interno do servidor!!!";

break;

default:

return "Erro desconhecido!!!<br>" + xmlhttp.status + " - " + xmlhttp.statusText.replace(/\+/g," ");

}

}

 

 

 

//FUNCAO PARA RETORNAR A MENSAGEM DE QUE ESTA CARREGANDO A PAGINA

function ajaxMensagemCarregando(id){

document.getElementById(id).innerHTML = "Aguarde, carregando...";

}

 

 

 

//FUNCAO PARA PEGAR OS CODIGOS SCRIPT

function ExtraiScript(texto){

var ini, pos_src, fim, codigo, texto_pesquisa;

var objScript = null;

//Joga na variavel de pesquisa o texto todo em minusculo para na hora da pesquisa nao ter problema com case-sensitive

texto_pesquisa = texto.toLowerCase()

// Busca a primeira tag <script

ini = texto_pesquisa.indexOf('<script', 0)

// Executa o loop enquanto achar um <script

while (ini!=-1){

//Inicia o objeto script

var objScript = document.createElement("script");

 

//Busca se tem algum src a partir do inicio do script

pos_src = texto_pesquisa.indexOf(' src', ini)

// Define o inicio para depois do fechamento dessa tag

ini = texto_pesquisa.indexOf('>', ini) + 1;

 

//Verifica se este e um bloco de script ou include para um arquivo de scripts

if (pos_src < ini && pos_src >=0){//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script

//Marca como sendo o inicio do nome do arquivo para depois do src

ini = pos_src + 4;

//Procura pelo ponto do nome da extencao do arquivo e marca para depois dele

fim = texto_pesquisa.indexOf('.', ini)+4;

//Pega o nome do arquivo

codigo = texto.substring(ini,fim);

//Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano

codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");

// Adiciona o arquivo de script ao objeto que sera adicionado ao documento

objScript.src = codigo;

}else{//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script

// Procura o final do script

fim = texto_pesquisa.indexOf('</script>', ini);

// Extrai apenas o script

codigo = texto.substring(ini,fim);

// Adiciona o bloco de script ao objeto que sera adicionado ao documento

objScript.text = codigo;

}

 

//Adiciona o script ao documento

document.body.appendChild(objScript);

// Procura a proxima tag de <script

ini = texto.indexOf('<script', fim);

 

//Limpa o objeto de script

objScript = null;

}

}

 

 

 

//FUNCAO PARA PEGAR OS ELEMENTOS DO FORM

function BuscaElementosForm(idForm) {

var elementosFormulario = document.getElementById(idForm).elements;

var qtdElementos = elementosFormulario.length;

var queryString = "";

var elemento;

 

//Cria uma funcao interna para concatenar os elementos do form

this.ConcatenaElemento = function(nome,valor) {

if (queryString.length>0) {

queryString += "&";

}

queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor);

};

 

//Loop para percorrer todos os elementos

for (var i=0; i<qtdElementos; i++) {

//Pega o elemento

elemento = elementosFormulario;

if (!elemento.disabled) {

//Trabalha com o elemento caso ele nao esteja desabilitado

switch(elemento.type) {

//Realiza a acao dependendo do tipo de elemento

case 'text': case 'password': case 'hidden': case 'textarea':

this.ConcatenaElemento(elemento.name,elemento.value);

break;

case 'select-one':

if (elemento.selectedIndex>=0) {

this.ConcatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].va

lue);

}

break;

case 'select-multiple':

for (var j=0; j<elemento.options.length; j++) {

if (elemento.options[j].selected) {

this.ConcatenaElemento(elemento.name,elemento.options[j].value);

}

}

break;

case 'checkbox': case 'radio':

if (elemento.checked) {

this.ConcatenaElemento(elemento.name,elemento.value);

}

break;

}

}

}

return queryString;

}

=

 

paginas/principal.php

CODE
<html>

<head>

<title>Untitled-1</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<!-- ImageReady Slices (Untitled-1) -->

<table id="Table_01" width="691" height="290" border="0" cellpadding="0" cellspacing="0">

<tr>

<td rowspan="2">

<img src="images/principal_01.png" width="348" height="45" alt=""></td>

<td rowspan="4">

<img src="images/principal_02.png" width="56" height="290" alt=""></td>

<td colspan="3">

<img src="images/principal_03.png" width="286" height="12" alt=""></td>

<td>

<img src="images/spacer.gif" width="1" height="12" alt=""></td>

</tr>

<tr>

<td rowspan="3">

<img src="images/principal_04.png" width="1" height="278" alt=""></td>

<td rowspan="2">

<img src="images/principal_05.png" width="281" height="270" alt=""></td>

<td rowspan="3">

<img src="images/principal_06.png" width="4" height="278" alt=""></td>

<td>

<img src="images/spacer.gif" width="1" height="33" alt=""></td>

</tr>

<tr>

<td rowspan="2" background="images/principal_07.png" width="348" height="245">

<?php include(i.php); ?></td>

<td>

<img src="images/spacer.gif" width="1" height="237" alt=""></td>

</tr>

<tr>

<td>

<img src="images/principal_08.png" width="281" height="8" alt=""></td>

<td>

<img src="images/spacer.gif" width="1" height="8" alt=""></td>

</tr>

</table>

<!-- End ImageReady Slices -->

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é aspas duplas no include:

 

<?php include("pagina.php"); ?>

mesmo alterado continua dando erro www.microink.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.