Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285

Пропадает конец Json строки, при передаче Json строки через Ajax

04.03.2014, 16:08. Показов 3034. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Возникла следующая проблема.
Из php получаю json строку, полученную с помощью json_encode()
Далее, её отправляю обратно к php, но почему-то теряются " } ] - в конце json, при передаче.
Передаю с помощью ajax, jQuery, Post
Причём в отладчике (firebug), в строке исходный код - переменная валидная, с " } ]
А в строке параметры - нет.
Насколько я понимаю, это как-то связано со спецсимволами.
Их нужно как-то убрать или в js, или ещё в php задавать 2-й параметр для ф-и json_encode().
Я пробовал и то и то, из того, что знаю, но ничего не получается.
Подскажите пожалуйста, может кто знает, как решить эту проблему.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2014, 16:08
Ответы с готовыми решениями:

Пропадает знак "+" при передаче строки методом ajax $_POST
В скрипте имеется строка, например "5 + 5 = 10", ее передаю с помощью ajax post в php обработчик, где записываю в БД. Отправка: ...

Ошибка при передаче массива через JSON Unexpected token &
Простейший код, передающий из PHP в Javascript массив, вызывает ошибку в момент парсинга на стороне javascript <?php $data = ...

Как получить из строки JSON токен используя JSON.NET?
Доброго времени суток, Господа. Поскажите пожалуйста. Я никогда не работал с JSON. Вот тут решил попробовать. Качнул либу JSON.NET, все...

4
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
06.03.2014, 10:31  [ТС]
Решил проблему. Может кому пригодится.
При передаче json скрипту(а может и не только json),
в json'е была строка с двойными кавычками, там и падало всё.
А что-бы избежать такой ситуации нужно применять ф-ю, которая возвращает URL-кодирование строки.
Я использовал encodeURIComponent
Пример:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
$.ajax({
                            type: "POST",
                            dataType: "text",
                                                        //строка которую передаём==string
                            data: "childs="+encodeURIComponent(JSON.stringify(string)),
                            success: function(answer) {
                                                                //обработка ошибки
                                if(answer == 'error') { alert('Ошибка сервера'); return false; }
                                //что-то делаем, с полученными данными
                            }
                    });
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
06.03.2014, 11:16
fier, первым делом, из PHP нужно отправлять заголовки о том что это JSON. В jQuery используйте contentType для определения типа данных для отправки и dataType для определения типа принимаемых данных.
1
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
06.03.2014, 11:33  [ТС]
Спасибо. А как писать:
JavaScript
1
2
3
4
5
contentType:"application/json;charset=UTF-8"
contentType:"application/x-javascript"
contentType:"text/javascript"
contentType:"text/x-javascript"
contentType:"text/x-json"
С указанием кодировки или без?
И ещё я прочитал тут, что
по умолчанию:
default: 'application/x-www-form-urlencoded; charset=UTF-8'
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
06.03.2014, 15:01
contentType:"application/json;charset=UTF-8"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2014, 15:01
Помогаю со студенческими работами здесь

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Всем привет! Помогите, плиз, разобраться с ошибкой: An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException'...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Дополнительные сведения: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1'...

Разбор JSON строки через ScriptControl.Eval
Привет, В скрипт поступает JSON строка вида {a:7,b:8} Она парсится следующим образом str = "{a:7,b:8}" Set...

Вернуть в Ajax-success $json из другого $json
Здравствуйте, уважаемые форумчане! Столкнулся со следующей проблемой. Есть код: <?php $json .= '<script> ...

Вернуть в Ajax-success $json из другого $json
Здравствуйте, уважаемые форумчане! Столкнулся со следующей проблемой. Есть код: <?php $json .= '<script> var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »