2014-08-30 1 views
1

У меня есть ошибки в Javascript

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data 
...n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=func... 

И это мой JavaScript, который получает строку с сервера ответ

complete: function(response) { 
    var results = $.parseJSON(response.responseText); 

ошибка во второй строке, потому что без этой линии нет никакой ошибки)

Моего PHP скрипта: (я использую CodeIgniter)

$str = json_encode($results); 
    $this->output->set_output($str); 

И пример сообщения с сервера:

{"Thumb_image":"http:\/\/example.com\/img\/thumbs\/9b4138094cb32af906e32f9d033d4748.jpg","Big_image":"http:\/\/example.com\/img\/photos\/9b4138094cb32af906e32f9d033d4748.jpg","Error":""} 

Помогите мне пожалуйста. Почему этот код работает неправильно?

+2

Нет, я не покупаю его. 'response.responseText' - это не то, что вы нам говорите, - console.log. –

+0

@BenjaminGruenbaum: Я могу поспорить, что пользователь использует jQuery 1.9+, и пользователь передает 'undefined' в' $ .parseJSON'. –

+0

Возможный дубликат [SyntaxError: JSON.parse: неожиданный символ] (http://stackoverflow.com/questions/19824224/syntaxerror-json-parse-unexpected-character) –

ответ

0

Попробуйте

$str = json_encode($results); 
$this->output->set_header('Content-Type: application/json; charset=utf-8'); 
echo $str; 
+3

Зачем нужно это делать? Как это решит проблему? Пожалуйста, укажите ** объяснение **, чтобы другие читатели могли * узнать *. –

+0

Я не могу использовать такую ​​функцию, как header, потому что CodeIgniter не позволяет мне это. Он записывает в журнал ошибок, что заголовки уже отправлены. Может быть, у кого-то есть идеи, как я могу это сделать, используя CodeIgniter? – av200

+0

Это помогло. Спасибо. У меня просто было несколько ошибок – av200

Смежные вопросы