2017-10-16 1 views
0

J'ai un appel ajax qui envoie des données comme ceci:parse_str ajoute souligner à l'index et concatène valeur

$.ajax({ 

    type:'POST', 
    url:URL 
    data:{'fexx': $('#form').serialize()}, 
    .... 

Et pour analyser ces données dans le contrôleur de php (j'utilise Codeigniter) Je reçois comme ceci:

parse_str($this->input->post('fexx'), $arr); 

Lorsque j'imprime le contenu de $ arr il apporte les informations comme ceci:

Array 
(
    [message_hello] => 
    [hel] => 
) 

au lieu de le montrant comme ceci:

Array 
(
    [message] => hello 
    [help] => 0 
) 

Savez-vous la raison de ce comportement? Merci d'avance!

Répondre

1

Vous mélangez des méthodes ici. Si vous sérialisez les données de formulaire, vous ne les fournissez pas dans les paires de valeurs clés. Serialize le fait pour vous.

data:{'fexx': $('#form').serialize()}, 

Essayez et modifier votre php en fonction, ou supprimer la sérialisation et de spécifier chaque clé => valeur individuellement

data: $('#form').serialize(), 
+0

Merci pour votre réponse. Je sais que je peux le faire, mais je veux aussi ajouter d'autres valeurs car cet index "fexx" me permet de sauvegarder quelques informations directement. –

+0

Si vous juste sérialiser et soumettez toutes les données de forme sans fexx alors il sera disponible dans le tableau $ _POST comme paires de valeurs clés – miknik