Usando $('#form').serialize()
, consegui enviar isso para uma página PHP. Agora, como deserializá-lo em PHP? Foi serializado no jQuery.
php
jquery
serialization
Feijão Genético
fonte
fonte
Respostas:
Você não precisa desserializar nada no PHP a partir do
serialize
método jquery . Se você serializar os dados, eles deverão ser enviados ao PHP como parâmetros de consulta se você estiver usando uma solicitação ajax do método GET ou post vars se estiver usando uma solicitação ajax POST. Portanto, no PHP, você acessaria valores como$_POST["varname"]
ou$_GET["varname"]
dependendo do tipo de solicitação.O
serialize
método apenas pega os elementos do formulário e os coloca em forma de string."varname=val&var2=val2"
fonte
serialize
retorna. Veja a resposta realmente popular abaixo.Desde que o seu servidor esteja recebendo uma string parecida com esta (o que deveria acontecer se você estiver usando o jQuery
serialize()
):... algo como isto é provavelmente tudo que você precisa:
$params
deve ser uma matriz modelada como você esperaria. Observe que isso também funciona com matrizes HTML.Consulte o seguinte para obter mais informações: http://www.php.net/manual/en/function.parse-str.php
Espero que seja útil. Boa sorte!
fonte
// Post do jQuery
// jquery.post serialized var - TO - formato PHP Array
// Você obtém o mesmo
fonte
fonte
Na página HTML :
na página PHP :
neste código php, retorne o
f1
campo.fonte
Por que não usar array associativo, para que você possa usá-lo facilmente
Saudações
fonte
$i = 0;
Resposta Murtaza Hussain modificada :
fonte
Simplesmente faça isso
fonte
Não sei qual versão do Jquery você está usando, mas isso funciona para mim no jquery 1.3:
Então você pode acessar as chaves do array POST como faria normalmente no php. Apenas tente com um
print_r()
.Eu acho que você está agrupando o valor do formulário serializado na propriedade de um objeto, que é inútil até onde eu sei.
Espero que isto ajude!
fonte
Isso está em resposta ao usuário1256561. Obrigado pela sua idéia .. no entanto, eu não cuidei do material de decodificação de URL mencionado na etapa 3.
então aqui está o código php que decodificará os dados do formulário serializado, se mais alguém precisar. A propósito, use esse código a seu critério.
A entrada de dados de postagem da URL será como: attribute1 = value1 & attribute2 = value2 & attribute3 = value3 e assim por diante
A saída do código acima ainda estará em uma matriz e você poderá modificá-lo para atribuí-lo a qualquer variável que desejar e isso depende de como você deseja usar esses dados ainda mais.
fonte
Você só precisa do nome do atributo de valor no formulário. Exemplo:
Formato
Javascript
PHP - index.php
fonte
Usar:
Php get array, não precisa desserializar;)
fonte
Eu acho que você precisa separar os nomes dos formulários dos seus valores, um método para fazer isso é explodir
(&)
para que você obtenhaattribute=value,attribute2=value
.Meu argumento aqui é que você converterá a seqüência de caracteres jQuery serializada em matrizes no PHP.
Aqui estão as etapas que você deve seguir para ser mais específico.
jQuery
para umaPHP
página (por exemploajax.php
) onde você usa$.ajax
para enviar usando postagem ou recebimento.(&)
que separa cada atributo. Agora você receberá attribute1 = value, attribute2 = value, agora receberá uma variável de array php. por exemplo$data = array("attribute1=value","attribute2=value")
foreach
sobre$data
eexplode
o(=)
para poder separar o atributo do valor e certifique-se deurldecode
que ele converta valores serializados no valor que você precisa e insira o atributo e seu valor em uma nova variável de matriz, que armazena o atributo e o valor da sequência serializada.Entre em contato se precisar de mais esclarecimentos.
fonte
Você pode usar esta função:
Como usá-lo
fonte