web-dev-qa-db-fra.com

Fonction de sauvegarde Joomla avec ajax update

Je voudrais appeler une fonction de contrôleur et après cela, je voudrais mettre à jour ma vue avec un appel ajax.

Par conséquent, j'appelle ma fonction de contrôleur à partir d'un script ajax à l'aide de l'URL suivante:

url: "index.php?option=com_mycomponent&task=component.save"

Tout semble aller pour le mieux, mais je ne peux pas accéder à mes entrées de formulaire dans le contrôleur.

$jinput = JFactory::getApplication()->input;
$data = $jinput->get('jform', 'default_value', 'filter');

$data reste vide.

Lorsque j'appelle la fonction depuis un bouton Joomla normal du formulaire, tout va bien et toutes les valeurs du formulaire sont disponibles dans le contrôleur.

Je voudrais appeler ma fonction de contrôleur et ensuite je voudrais mettre à jour ma vue avec un appel ajax.

1
Perino

Je pense que vous voudrez peut-être essayer comme ça:

$data  = $this->input->post->get('jform', array(), 'array');
1
Valentin Despa

si vous utilisez joomla 3, vous pouvez utiliser jquery pour cette fonctionnalité:

JHtml::_('jquery.framework'); // make sure jquery is loaded
<script type="text/javascript">
jQuery.post('index.php?option=com_mycomponent&task=component.save', 
jQuery( "#yourformid" ).serialize(), function(data, 
statustxt){ jQuery('#resultdiv').html=data; })
</script>

Cela devrait retourner le résultat à un élément. La documentation de jQuery.post () se trouve ici http://api.jquery.com/jquery.post/ . La post-fonctionnalité doit ajouter les données de votre formulaire en tant que post-variables à lire par joomla. Pour voir toutes les post-variables entrantes en écriture php

print_r($_POST); 
1
jonasfh