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.
Je pense que vous voudrez peut-être essayer comme ça:
$data = $this->input->post->get('jform', array(), 'array');
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);