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.
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.