EDIT: Le problème est que j'ai essayé d'appeler la fonction comme j'aurais pu appeler une fonction lors de l'utilisation d'un framework. Et, je n'ai même pas pris la peine de mentionner des choses très importantes telles que je n'utilise pas de cadre avec celui-ci.ajax php json renvoie null
Comme l'a souligné mon collègue, ce ici devrait être en mesure d'aider. Le problème: J'ai essayé de nombreuses façons suggérées par d'autres utilisateurs mais json renvoie toujours NULL ou vide. Voici mon code et les lignes que j'ai commentées sont celles que j'ai essayées mais qui ont échoué. Maintenant, je sais qu'il y a eu des messages comme le mien avant, mais aucun de ceux-là n'a fonctionné pour moi. Merci à tous d'avance.
EDIT: J'utilise le chrome et quand je F12, goto réseau, je peux voir que la fonction login() a été accédée et les données que j'ai passées sont également là. Mais, quand j'ai essayé d'imprimer une chaîne et/ou die()/exit(), la réponse me donne toujours 'Cette demande n'a pas de données disponibles'. Qu'est-ce que ça veut dire?
J'ai d'abord testé ce sans faire des requêtes et renvoie toujours NULL. Je suppose que ma question a été rejetée parce qu'il semblait y avoir une erreur dans ma requête, alors je voulais juste l'éclaircir. J'ai traité avec celui-ci depuis 2 jours maintenant et j'ai essayé à peu près tout et je suis sûr que ce n'est pas la question.
public static function login()
{
// header("Content-Type: application/json");
// header("Content-Type: text/javascript");
$response->msg = '';
$username = $_POST['username'];
$password = $_POST['password'];
$hashed = hash('md5', $password);
$query = mysql_query("select * from tbl_user where username = '$username' and password = '$hashed'");
$result = mysql_fetch_object($query);
if(mysql_num_rows($result) > 0)
{
$response->msg = 1;
$response->username = $username;
// $response['msg'] = 1;
// $response['username'] = $username;
echo json_encode($response);
}
else
{
// $response['msg'] = 0;
$response->msg = 0;
echo json_encode($username);
}
}
Javascript
$("#btn_submit").click(function(){
var username = $("#txtusername").val();
var password = $("#mypassword").val();
$.ajax({
url: base_url + 'includes/main.php/login',
data: { username: username, password: password },
type: 'post',
// async:false,
dataType: 'json',
success: function(data)
{
console.log(data);
}
});
});
// $('#btn_submit').click(function() {
// var username = $("#txtusername").val();
// var password = $("#mypassword").val();
//
// $.getJSON(base_url + 'includes/main.php/login',
// { username: username, password: password },
// function(json) {
// console.log(json);
// });
// });
// $('#btn_submit').click(function() {
// var username = $("#txtusername").val();
// var password = $("#mypassword").val();
//
// $.post(base_url + 'includes/main.php/login',
// {username: username, password: password},
// function(r) {
// console.log(r);
// }, "json");
// });
vous avez essayé avec 'header ("Content-Type: application/json")' dans le php ou en supprimant 'dataType: « json'' en JavaScript? –
Oui, j'ai essayé les deux. – esandrkwn