Ir para conteúdo

Arquivado

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

Rogerio Pancini

Passar variável em Jquery

Recommended Posts

Bom dia pessoal.

 

Tenho um template, que tem este javascript:

 

    var _latitude  = -22.0565972;
    var _longitude = -46.9794721;
	
    //var jsonPath   = 'assets/json/items.json';
	var jsonPath   = 'assets/json/items.php';


    // Load JSON data and create Google Maps

    $.getJSON(jsonPath)
        .done(function(json) {
            createHomepageGoogleMap(_latitude,_longitude,json);
        })
        .fail(function( jqxhr, textStatus, error ) {
            console.log(error);
        })
    ;

    // Set if language is RTL and load Owl Carousel

    $(window).load(function(){
        var rtl = false; // Use RTL
        initializeOwl(rtl);
    });

    autoComplete();

 

No qual o json é gerado aqui:

 

	/******* Conexão com o bando de dados *******/
	include "../../Conexao/config.php";
	mysqli_select_db($config, $database_config);
	mysqli_set_charset($config,"utf8");
	/******* Conexão com o bando de dados *******/
	


	$sql_16_a = mysqli_query($config, "SELECT id, razao_social, latitude, longitude, rua FROM tb_empresas LIMIT 10") or die(mysqli_error($config));
											
	$return_arr = array();
										
	if(@mysqli_num_rows($sql_16_a) <= '0'){
	    echo "";
	}else{
		while($r_sql_16_a = mysqli_fetch_array($sql_16_a)){
											
			$row_array['id'] = $r_sql_16_a['id'];
            $row_array['title'] = $r_sql_16_a['razao_social'];
            $row_array['location'] = "Clínicos Gerais";
            $row_array['latitude'] = $r_sql_16_a['latitude'];
            $row_array['longitude'] = $r_sql_16_a['longitude'];
            $row_array['url'] = "item-detail.html";
            $row_array['type'] = $r_sql_16_a['rua'];
            $row_array['type_icon'] = "flaticon-medical-2";
            $row_array['rating'] = "4";
            $row_array['gallery'] = 
                [
                    "images/imagem_padrao.jpg"
                ];
            $row_array['date_created'] = "2014-11-03";
            $row_array['price'] = "<span>(19) 3652-36...</span> Ver telefone";
            $row_array['featured'] =  "0";
            $row_array['color'] =  "";
									
											
			array_push($return_arr,$row_array);
		}
	}
									
	echo $json_busca = '{ "data": '.json_encode($return_arr) . "}"; 

 

Preciso passar uma variável para o arquivo itens.php.

É possivel?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tu pode passar por parâmetro tipo gera uma url tipo

 

echo "<a href='pagina.php?v=" . $variavel . "'>enviar</a>";

 

aí na outra página tu pega a variavel com $_GET['v']

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evita fazer isso:

echo $json_busca = '{ "data": '.json_encode($return_arr) . "}"; 

Primeiro se monta o array depois converte ele...

echo json_encode(array('data' => $return_arr));

 

Agora a duvida do post.

 

Não entendi ainda, você quer passar dados do PHP para o JS?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, vou fazer a correção.

 

Na pagina "procura.php", tem a estrutura que mencionei acima.

Na parte final, tem esse script:

    var _latitude  = -22.0565972;
    var _longitude = -46.9794721;
	
    //var jsonPath   = 'assets/json/items.json';
	var jsonPath   = 'assets/json/items.php';


    // Load JSON data and create Google Maps

    $.getJSON(jsonPath)
        .done(function(json) {
            createHomepageGoogleMap(_latitude,_longitude,json);
        })
        .fail(function( jqxhr, textStatus, error ) {
            console.log(error);
        })
    ;

    // Set if language is RTL and load Owl Carousel

    $(window).load(function(){
        var rtl = false; // Use RTL
        initializeOwl(rtl);
    });

    autoComplete();

Que faz a leitura do arquivo "itens.php" (que gera o json), através dessa linha:

var jsonPath   = 'assets/json/items.php';

Tudo acontece nessa página (é um mapa).

 

No PHP até que me viro, mas com Jquery tenho uma certa dificuldade.

Não sei se ajuda, mas em algo próximo que já fiz, eu usei:

 

		var id_resultado       = <?php echo "'" . $id_resultado . "'"; ?>;
		var ordem              = <?php echo "'" . $ordem. "'"; ?>;
		var sel_ct_1           = <?php echo "'" . $cat_p. "'"; ?>;
		var cidade_procura_var = <?php echo "'" . $cidade_procura_var. "'"; ?>;
		var icone_sel_geral    = <?php echo "'" . $icone_sel_geral. "'"; ?>;
		var icone_cor_geral    = <?php echo "'" . $icone_cor_geral. "'"; ?>;

		//Ajax load function
		function load_contents(track_page){
		
			$JQuery.post( 'js/load-more-results/fetch_pages.php', {'page': track_page, 'id_resultado': id_resultado, 'ordem': ordem, 'sel_ct_1': sel_ct_1, 'cidade_procura_var': cidade_procura_var, 'icone_sel_geral': icone_sel_geral, 'icone_cor_geral': icone_cor_geral}, function(data){ ...

Esse script veio na ferramenta "Load More Results".

Não tem nada haver com este mapa, mas nessa linha, eu descobri que declarando as variáveis aqui, o arquivo "fetch_pages.php" consegue ler as mesmas.

 

Tudo acontece na página, não tem link nem formulário para outra página.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, Rogerio Pancini disse:

Jquery tenho uma certa dificuldade.

Ué manda bala.

http://try.jquery.com/

 

Dificuldade com ajax?

https://github.com/gabrieldarezzo/desafiosInternos/tree/master/ajax

 

 

Agora voltando ao tópico...

$.post()

Significa que na fetch_pages.php tem um $_POST entende a relação  neh?

Identa os códigos...

veja como fica mais facial a leitura:

$.post( 'js/load-more-results/fetch_pages.php', {
		'page': track_page
		,'id_resultado': id_resultado
		,'ordem': ordem
		,'sel_ct_1': sel_ct_1
		,'cidade_procura_var': cidade_procura_var
		,'icone_sel_geral': icone_sel_geral
		,'icone_cor_geral': icone_cor_geral
	}, function(data){

Se confirmou se tudo está sendo enviado?

 

var dadosRequest = {
	'page': track_page
	,'id_resultado': id_resultado
	,'ordem': ordem
	,'sel_ct_1': sel_ct_1
	,'cidade_procura_var': cidade_procura_var
	,'icone_sel_geral': icone_sel_geral
	,'icone_cor_geral': icone_cor_geral
};

console.log(dadosRequest);

$.post( 'js/load-more-results/fetch_pages.php', dadosRequest, function(data){

 

ai abre o seu depurador de JS

Chrome: CTRL + Shift + J

Mozilla: CTRL + Shift + K

 

E veja oq ele envia (caso essa rotina seja disparada logo no inicio de um reload com a depuração/Console aberta)

 

Tem erros?

Oq foi enviado no request?

Oq foi respondido (retorno do fetch_pages.php)?

Não sabe? aqui tem:

https://github.com/gabrieldarezzo/desafiosInternos/tree/master/ajax#5---acompanhar-oq-foi-enviado

 

 

 

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.