Убедитесь, что при вызове ajax из jQuery вы говорите ему ожидать ответа json. Похоже, вы возвращаете открытый текст и пытаетесь разобрать его вручную.
$.ajax({
url: "myscript.php",
dataType: "json",
success: function(data){
console.log( data ); //this line only works with chrome (stock) or FireFox (with FireBug plugin)
}
});
Этот код будет отображаться в вашей консоли (если у вас нет chrome или FF с FireBug, найдите один из них: P) вывод в формате json. Помните, что при выводе из PHP все, что вам нужно делать, это:
header('Content-type: application/json');
echo json_encode( $myAssociativeArrayOfData );
exit; //make sure nothing else happens to output something
Вам не нужно использовать какое-либо специальное форматирование или косую черту. Просто убедитесь, что код json выводится в виде кода json с правильными заголовками, и функция jjuery ajax должна преобразовать его для вас. Результатом будет переменная данных в функции успеха, являющаяся вашим объектом json (массив php). Поэтому, если вы передадите массив, подобный этому: array ('foo' => 'bar') в PHP, то в вашей функции успеха в jquery вы можете набрать: alert (data.foo); и получите диалоговое окно с надписью "bar".