Ir para o conteúdo
br

receber array de PHP

Mensagens Recomendadas

br

boa noite pessoal.

estou a tentar passar um array de php para uma funçao em javascript. estive a pesquisar e dizem que tenho que uzar json

tenho isto separado por ficheiros, index.php e script.js

no index:

<input type="button" value="Add" id="add" onclick='add(<?php echo json_encode($aC)?>)'/>

onde $aC é o meu array com Array ( [1] => Polish [2] => Mexican [3] => Italian )

no script:

function add(ob) {
   var ar = JSON.parse(ob);
   alert (ar[1]);
}

mas isto nao funciona, ja dei voltas a isto, e nao consigo compor.

alguem me sabe dizer porque?

Cumprimentos

Editado por brunoais
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
taviroquai

Atenção que JSON não é um objecto em javascript. JSON é uma string.

Outra coisa, em vez de um Array, passa um objecto que contém esses items.

Por ser uma string, coloca entre aspas assim:

<input type="button" value="Add" id="add" onclick="add('<?php echo json_encode(array('itens' => $aC))?>')" />

E depois, o que faz sentido é:

function add(json) {
var ar = JSON.parse(json);
// ar é um objecto
alert(ar.itens[0]); // para obter o item 0 = 'Polish'
}

Outra coisa: qual é o browser onde estás a testar? Vê isto http://caniuse.com/json

Editado por taviroquai

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
br

mesmo assim não funciona!

o meu array é assim: Array ( [1] => Polish [2] => Mexican [3] => Italian )

em json encoded fica entao assim: {"itens":{"1":"Polish","2":"Mexican","3":"Italian"}}

deveria funcionar, mas contina sem dar nada

os ficheiros estão separado, o array esta no index.php onde chamo o script.js

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
taviroquai

Hmm... dessa form é preciso escapar a string... tenta assim:

<?php
$json = json_encode(array('itens' => $aC));
?>
<script>var json1 = '<?php echo $json ?>';</script>
<input type="button" value="Add" id="add" onclick="add(json1)" />

Depois faz alert(ar.items[1]);

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

<input type="button" value="Add" id="add" onclick="var obj = <?php echo json_encode($aC); ?>; add(obj);"/>

function add(obj) {
   alert (obj);
}

agora diz exactamente o que pretendes


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.