json php и кавычки

MW
На сайте с 07.09.2011
Offline
55
2337

Привет всем!

Помогите победить проблему,сам только начинающий и что-то мозг уже кипит)

есть скрипт:

$('.af-container span').click(function() {

$(this).toggleClass('selected');

var filters = {};
filters.tab = $('.af-container span.selected').map(function() {

return $(this).attr('data-toogle');


}).get().join();
var serialize = JSON.stringify(filters);

$.ajax({
url: 'index.php?route=module/ajax_filter/getProducts',
type: 'get',
data: 'filters=' + serialize,
dataType: 'json',
beforeSend: function() {

},
success: function(data) {

$('.category-box-item').html(data);
},
complete: function() {

},
error: function(xhr, ajaxOptions, thrownError) {
console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});

return false;


});

на сервере использую json_decode и получаю пустую строку,проверил,что вообще приходит на сервер,вот такая шляпа:

{"tab":"l,s"} 

куда копать хоть?

tommy-gung
На сайте с 22.11.2006
Offline
304
#1

str_replace?

Здесь не могла быть ваша реклама
L
На сайте с 10.02.2015
Offline
260
#2

У Вас где-то $_GET['filters'] проходит через htmlspecialchars... :)

Возможно, у Вас слишком умная CMS / фреймворк. :)

A
На сайте с 23.11.2016
Offline
7
#3

data: 'filters=' + serialize,
dataType: 'json',

- вот эти две строчки можете закомментировать или убрать вообще.

var serialize = JSON.stringify(filters);
- этого делать тоже не надо, а url напишите следующим образом:

url: 'index.php?route=module/ajax_filter/getProducts&filter='+filters.tab,

а на стороне сервера принимайте

echo json_encode($_GET['filter']);

Если у Вас cms не будет ничего тормозить, то должно заработать.

MW
На сайте с 07.09.2011
Offline
55
#4
livetv:
У Вас где-то $_GET['filters'] проходит через htmlspecialchars... :)
Возможно, у Вас слишком умная CMS / фреймворк. :)

благодарю за наводку,воспользовался html_entity_decode

anzarsh:
data: 'filters=' + serialize,

dataType: 'json',

- вот эти две строчки можете закомментировать или убрать вообще.
var serialize = JSON.stringify(filters);
- этого делать тоже не надо, а url напишите следующим образом:
url: 'index.php?route=module/ajax_filter/getProducts&filter='+filters.tab,

а на стороне сервера принимайте
echo json_encode($_GET['filter']);

Если у Вас cms не будет ничего тормозить, то должно заработать.

Спасибо,приму к сведению

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий