Ir para conteúdo

POWERED BY:

Arquivado

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

cavallari74

[Resolvido] Extrair objeto enviado via POST

Recommended Posts

Pessoal,

 

tenho alguns parametros enviados via post por ajax para uma página php na seguinte estrutura:

filter	[object Object]
method	searchData
paging	[object Object]
O que eu preciso é extrair os objetos contidos nos parametros filter e paging, que estão assim:

filter
    inicio
    fim

paging
   sort
   start
   limit
No PHP já tentei o extract($POST), mas como consigo extrair os dados do objeto $filter?.

 

abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Post o resultado de um var_dump($_POST) ou print_r($_POST).

 

var_dump($POST)

array(3) {
  ["method"]=>
  string(24) "searchData"
  ["filter"]=>
  string(15) "[object Object]"
  ["paging"]=>
  string(15) "[object Object]"
}

print_r($_POST);

Array
(
    [method] => searchData
    [filter] => [object Object]
    [paging] => [object Object]
)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok. Você quer "extrair" os objetos de POST?

Se você fizer

extract($_POST);
Você agora poderá acessar os seus itens assim:

extract($_POST);
$method;
$filter->algumaCoisa;
$paging->algumaCoisa2;
É isso o.O?

Compartilhar este post


Link para o post
Compartilhar em outros sites

caro amigo,

 

Creio que você esteja utilizando alguma biblioteca js para ajax. Independentemente disto, parece que você está setando como valores para os parâmetros filter e paging os próprios objetos javascripts.

 

O que acontece: parametros post e get são sempre escalares (string ou array de strings). Objetos javascript quando tratados como escalares são uma simples string "[Object object]", e aí seu PHP recebe esta string inútil.

 

Como resolver: quando setar os parâmetros, faça valor a valor, separando por "_" ou dentro de um array:

ajax.add_param("paging[sort]", paging.sort);

ajax.add_param("paging_sort", paging.sort);

 

Setando o proprio objeto javascript para o post ou get NÃO dá!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É pessoal,

 

de fato eu uso uma biblioteca js, e o parâmetro filtro muda de acordo com o tipo de formulário ou consulta executada.

De qualquer maneira, fiz como o Jaime colocou, alterei os parâmetros 1 a 1 para que envie da forma correta e o php possa ler.

 

Obrigado pela ajuda.

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.