Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Estou com a seguinte situação: uma radiobuttonlist que ao mudar a opção deve mudar o conteudo de uma combobox com pesquisa no banco de dados. O código do Ajax segue:
var $ = jQuery;
var natureza = $('input:radio[name=natureza_conta]:checked').val();
$.ajax({
url: 'planocontas/getAccountsList',
type: 'POST',
global: false,
data: {
act: 'send',
natureza: natureza
},
async: true,
error: function (data) {
},
success: function (data) {
try {
var obj = data;
if (obj[0].status == "1") { [... etc ...]
Ao tentar recuperar as variáveis por $_POST['act'] ou $_POST['natureza'], elas vêm vazias. Fiz um teste no método getAccountsList passando um vetor qualquer para data, e ele é 'recuperado pelo ajax' normalmente, mas preciso da variavel natureza para efetuar a busca no banco.
No Firebug, vi que as variáveis estão sendo enviadas. Segue imagem abaixo:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/Zodpibw.png&key=2fce2776dfa42b94372f3a3032d9f35d2812dabe589c70a04087b1d43d8f0b78" alt="Zodpibw.png" />
Alguém pode me dar uma luz sobre o que está acontecendo? Obrigada!
Olá!
O método segue:
$arr = array();
if ($_POST['act'] == 'send') {
$arr[] = '{"status": "1"}';
$result = PlanoContas::_getListaContas($_POST['natureza']);
foreach ($result as $key => $val) {
$arr[] = '{"id_conta": "' . $val['id'] . '", "descricao": "' . $val['id_conta'] . ' - '. $val['descricao'] . '"}';
}
} else {
$arr[] = '{"status": "0"}';
// $arr[] = '{"status": "1"}'; // Teste (array é passado)
// for ($i = 0; $i < 5; $i++) {
// $arr[] = '{"id_conta": "' . $i . '", "descricao": "' . 'teste'.$i// . '"}';
// }
}
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // date in the past
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
header('Cache-Control: no-cache, must-revalidate'); // HTTP/1.1
header('Pragma: no-cache'); // HTTP/1.0
header('Content-Type: application/json');
echo '[';
echo implode(',', $arr);
echo ']';
exit;
Obrigada!
Okay.. não vi nenhum erro aparente.
Tem como vc postar um link para vermos online ?
Olá, pior que não tem como, estou trabalhando ainda em localhost... Já quebrei a cabeça e não consigo saber o que está acontecendo. Vou tentando, qualquer novidade posto aqui...
Bom, vc pode tentar o seguinte:
$arr = array();
var_dump($_POST); exit();
if ($_POST['act'] == 'send') {
e veja se lá no Resposta do ajax vem alguma coisa no var_dump().Boa tarde!
Fiz o teste que voce citou e a resposta no firebug foi:
<pre class='xdebug-var-dump' dir='ltr'><font color='#3465a4'>null</font>
</pre>
Alguma idéia? Obrigada!
Como está o teu arquivo php ?