Problema com javascript e pagina php

Oi pessoal, como eu faço para conseguir executar uma pagina php dentro de um javascript?

Fora do framework yii eu consigo fazer acontecer, agora dentro da framework tentei de inúmeras formas e nenhuma com sucesso!

Tentei criar um widget para isso tbm e nada! alguém me da uma luz?

segue o código:




$(document).ready(function(){

   

   $("#montadora").change(function(){

      $.ajax({

         type: "POST",

         url: "busca.php", //-> aqui eu penso que é o problema, eu não consigo dentro da framework chamar essa pagina de jeito nenhum!

         data: {montadora: $("#montadora").val()},

         dataType: "json",

         success: function(json){

            var options = "";

            $.each(json, function(key, value){

               options += "<option value=" + key + ">" + value + "</option>";

            });

            $("#veiculo").html(options);

         }

      });

   });



Obrigado

Você quer executar uma ação de algum controller ou executar um código PHP qualquer?

A forma que você colocou url: "busca.php" se fosse uma ação de um controlador seria: url: "nomeDoController/acao" exemplo: url: "montadora/busca"

[b]

[/b]

At.,

[b]

[/b]

Wanderson

Sim eu quero executar um simples codigo que esta no arquivo busca.php… eu tentei tbm fazer uma açao em um controller, chamando "pagina/açao" mas não consegui.

O erro pode ser no accessRules() caso não esteja usando nenhum módulo de controle de acesso. Veja pelo Firebug quando a requisição é feita o que ele retorna.

Eu coloquei em uma açao na "siteController" lá não tem regras de acesso!

O problema é que o codigo javascript não consegue executar a pagina, fiz o debug e percebi que ele nem entra na pagina busca.php… agora se eu faço um debug na parte externa da framework, ele acessa livremente a busca.php =/ tenso

marson,

Se o actionBusca estiver no SiteController, faça assim:


url: "<?php echo Yii::app()->createUrl('site/busca')?>",

Não usa .php que o Framework não vai encontrar corretamente, a não ser que você colocar no root, que não vem ao caso.

Você também pode usar o ajax do CHtml::DropDowList().




echo CHtml::dropDownList('montadora','',array(1=>'VW',2=>'Chevrolet',3=>'Fiat')

            'ajax' => array(

                'type' => 'POST',

                'url' => Yii::app()->createUrl('site/busca'),

                'update' => '#veiculo',

                'data' => array('montadora' => 'js:$(this).val()')

            )

        ));



Fiz parecido com seu modelo.

Se quizer usar o dropdown do Yii, tem uma Wiki que ensina a fazer o que deseja:

http://www.yiiframework.com/wiki/24/

Vlw pelas dicas Newerton, vou dar uma olhada nesses links e opções de desenvolvimento…

Sobre os erros já consegui resolver, era um simples erro de sintaxe no javascript (uma aspas) que não estava fazendo funcionar corretamente… coisa de programador enferrujado hahaha

Abraços

As vezes eu peno para achar o erro também hehehe

Não sei o que seria de mim sem o Firebug! kkkkkkkk