web-dev-qa-db-fra.com

Publier des données à l'aide de com_ajax joomla 3

Mon code Jquery est

jQuery(".loginbtn").click(function(e) { 
                var value   =  JSON.stringify(jQuery(jQuery('#form-login input[class!="noAjax"]'), jQuery('#form-login')).serialize());
                alert(value); // here I am able to see "username=itsvalue&password&itsvalue...."
                jQuery.ajax ({                                                          
                        type    : "POST",
                        url     : "index.php?option=com_ajax&module=socialauth&method=loginUser&format=json",
                        data    : value,
                        contentType: "application/json",
                        success : function(response) {
                            jQuery("#login-msg").html(response['data']);
                        },
                        error   : function(jqXHR, error, errorThrown) {  
                           if(jqXHR.status){
                                jQuery("#login-msg").html(jqXHR.responseText + jqXHR.status); 
                           }else{
                                alert("Something went wrong");
                           }
                        }
                });
            });

Voici mon code d'assistance PHP):

public static function loginUserAjax() {
        // Required objects 
        $input      = JFactory::getApplication()->input; 

        var_dump((new JInput($input->get('data', '', 'array')))->getString('username') ); 
}

ici, je ne reçois aucune donnée postée. J'ai essayé beaucoup de choses. Je ne sais pas pourquoi.

3
Sam

Je ne suis pas sûr de $input->get('data', '', 'array'). Êtes-vous sûr que data var est passé?

Je pense que vous pouvez simplement utiliser $input->getString('username') et ainsi de suite pour récupérer des parties de la requête de données passée.

3
Dmitry Rekun