You need to call the
$.parseJSON();
For example:
...
success: function(data){
var json = $.parseJSON(data); // create an object with the key of the array
alert(json.html); // where html is the key of array that you want, $response['html'] = "<a>something..</a>";
},
error: function(data){
var json = $.parseJSON(data);
alert(json.error);
} ...
see this in
http://api.jquery.com/jQuery.parseJSON/
if you still have the problem of slashes:
search for security.magicquotes.disabling.php
or:
function.stripslashes.php
Note:
This answer here is for those who try to use $.ajax
with the dataType
property set to json
and even that got the wrong response type. Defining the header('Content-type: application/json');
in the server may correct the problem, but if you are returning text/html
or any other type, the $.ajax
method should convert it to json
. I make a test with older versions of jQuery and only after version 1.4.4
the $.ajax
force to convert any content-type to the dataType
passed. So if you have this problem, try to update your jQuery version.