Okay i have some data that is entered by form and some that is generated by the page Here is my js file that gets and pushes the data to the php file
$(document).ready(
function() {
$("#message_sender").submit(function(event){
event.preventDefault();
var sender_data = {
avatar: document.getElementById("user_avatar_hidden").textContent,
username: document.getElementById("user_username_hidden").textContent,
message: $("#message_sender").serialize()
};
alert(sender_data.message);
$.ajax({
url: 'Js_returns/message_sent.php',
type: 'post',
data: {"data" : JSON.stringify(sender_data)},
success: function(data) {
$("#conversation_table").append(data);
}
});
});
});
Now, im accesing the avatar and username normaly but i cant access the message part the way i want.
$var= json_decode($_POST["data"]);
echo $var -> avatar;
So if i didnt convert the data into an js object i could easily do $_POST['message_title']; I have tried $var -> message -> message_title; (which i know makes no sense but what the heck) and it didnt work
PS the form im pushing with serialize consists of message_title and text_editor_area
json_decodeit, it will become an associative array. You can't treat it as object. Tryecho $var['avatar'];$var->{'avatar'};rather than$var -> avatar;