Correct way to read 'echo json_encode( )' from JQuery
You should set the mime type aswell, wich, according to this question is application/json
. Then jQuery will understand the answer is a json element. To do it, you'd do the following:
header('Content-Type: application/json');
In your UpdateEditAStudent.php
before printing anything.
You don't have to add a header to the PHP file, just use this Jquery parseJSON function:
Keep this PHP code as it is:
$Stuff = 'Hello world';$Success = true;$Content = $Stuff;$Response = array('Success' => $Success, 'Content' => $Content);echo json_encode($Response);
And for the JS:
$.ajax({ type: "GET", url: "../pgs/UpdateEditAStudent.php", data: "FirstName="+ $('#student_first_name').val(), success: function(data){ // Here is the tip var data = $.parseJSON(data); alert(data.Content); }});
You need to define the correct dataType
or provide the correct header, as Lumbendil described.
You can manually define the dataType
to json
, so your code would look like:
$.ajax({ type: "GET", url: "../pgs/UpdateEditAStudent.php", data: "FirstName="+ sFirstName , dataType: "json", ...etc