The problem is in jQuery, jsondata.uname is not displaying any result. If I echo $myarray in PHP and use data in jQuery it will display the result in array form.
$(document).ready(function() {
$('button#myloginbtn').on('click', function(e) {
e.preventDefault();
var username = $('input#myusername').val();
var password = $('input#mypassword').val();
$.post('home.php', {
domylogin: 'domylogin',
username: username,
password: password
}, function(data) {
jsondata = JSON.parse(data);
$('p#auser').text(jsondata.uname); // This is not working
});
});
});
home.php:
<?php
if (isset($_POST['domylogin'])){
$myuname = $_POST['username'];
$mypword = $_POST['password'];
// temporary testing, later i will return some data from database related to these values
$myarray = array();
$myarray['uname'] = $myuname;
$myarray['pword'] = $mypword;
echo json_encode($myarray);
}
?>
console.log(jsondata);. Hope you will get what is wrong.JSON.parse()on that object again will cause an error. Remove theJSON.parse(data)line and use$('p#auser').text(data.uname){'domylogin':1, . . . }.