на сервере
$products = "<div class='search_ajax_prod'>" .$product_name. "</div>";
$out = json_encode(array(
product => $products,
category => $categories,
));
echo $out;
js
var request = $.ajax({
url: "/?dispatch=ajax_search.sssearch",
method: "POST",
data: { data : data },
});
request.done(function( msg ) {
var data_msg = JSON.parse(msg);
console.log(data_msg['product']);
});
Получаю ошибку SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
В JSON, который приходит ответом на ajax запрос - ошибка формата. Из-за этого JSON.parse не может его распарсить.
это может быть из за того что в json_encode я передаю не массив а строку?
Может быть. Лучше покажи мне содержимое $out после json_encode. Смогу точно сказать что не так.
{"product":"<div class='search_ajax_prod'>\n <a href='\/\/techno-tkd-100\/'><div class='search_ajax_prod-img'><img src='https:\/\/t.ru\/images\/thumbnails\/60\/60\/detailed\/2\/\u0412\u043e\u0437\u0434\u0443\u0448\u043d\u0430\u044f_\u0437\u0430\u0441\u043b\u043e\u043d\u043a\u0430_\u043a\u0440\u0443\u0433\u043b\u043e\u0433\u043e_\u0441\u0435\u0447\u0435\u043d\u0438\u044f_98u1-ow.png'><\/div><div class='search_ajax_prod-info'><span class='search_ajax_title'>TECHNO TKD-100 \u0420\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u044e\u0449\u0430\u044f \u0437\u0430\u0441\u043b\u043e\u043d\u043a\u0430 \u043a\u0440\u0443\u0433\u043b\u0430\u044f \u0441 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u043e\u0439 \u043f\u043e\u0434 \u043f\u0440\u0438\u0432\u043e\u0434 \u0434\u0438\u0430\u043c. 100\u043c\u043c<\/span><span class='search_ajax_price'>1090<span class='ty-rub'>\u0420<\/span><\/span><span class='search_ajax_code'>550100<\/span><\/div><\/a>\n <\/div>","category":null}
Это если сделать console.log(msg);
Теперь покажи что в msg приходит до parse
Обсуждают сегодня