Zend: ContextSwitch, возвращающийся Json - PullRequest
0 голосов
/ 19 мая 2010

В моем init у меня есть:

   $contextSwitch   = $this->_helper->getHelper('ForceContext');
   $contextSwitch->addActionContext('favourite-listing', 'json')->initContext();

В моем методе контроллера у меня есть:

    public function favouriteListingAction() {

    $newValues = array();

    if (isset($_POST['Playlist']) && is_array($_POST['Playlist'])) {
        foreach ($_POST['Playlist'] as $key => $value) {
            $response = $this->checkAction('Playlist', $value, 0, 1, 'favourite');
            $newValues['Playlist'][$value] = $response;
        }
    }

    if (isset($_POST['Clip']) && is_array($_POST['Clip'])) {
        foreach ($_POST['Clip'] as $key => $value) {
            $response = $this->checkAction('Clip', $value, 0, 1, 'favourite');
            $newValues['Clip'][$value] = $response;
        }
    }
    $this->view->favourites = $newValues;
}

Однако, вызывая это, возвращает:

    {"loggedIn":true,"request":{},"response":{"headersSentThrowsException":true},"translate":{},"favourites":{"Clip":{"726":"<img src=\"\/design\/images\/icon\/subscribe.png\" \/> Add Clip To Favourites","727":
"<img src=\"\/design\/images\/icon\/subscribe.png\" \/> Add Clip To Favourites","728":"<img src=\"\/design\/images\/icon\/subscribe.png\" \/> Add Clip To Favourites","729":
"<img src=\"\/design\/images\/icon\/subscribe.png\" \/> Add Clip To Favourites","730":
"<img src=\"\/design\/images\/icon\/subscribe.png\" \/> Add Clip To Favourites","731":"<img src=\"\/design\/images\/icon\/subscribe.png\" \/> Add Clip To Favourites","732":
"<img src=\"\/design\/images\/icon\/subscribe.png\" \/> Add Clip To Favourites"}}}

Как видите, добавляются косые черты, что вызывает проблемы. Есть ли что-нибудь, чтобы остановить это?

Ответы [ 3 ]

2 голосов
/ 19 мая 2010

Возможно ли настроить магические кавычки на сервере?

Магические кавычки

1 голос
/ 04 февраля 2011

На мой взгляд, это нормальное поведение , ваш анализатор JSON должен удалить эти косые черты. Я лично использую функцию JQuery $ .ajax () для моих проектов Ajax, вы должны установить для dataType значение JSon (у одного из моих коллег возникла проблема при попытке получить результат в виде текста и проанализировать его другим способом).

$.ajax( ... ,dataType : "json", ...);
0 голосов
/ 19 мая 2010

Если вы не нашли свою проблему, вы всегда можете просто запустить функцию полоски http://php.net/manual/fr/function.stripslashes.php на данных, чтобы лишить их лишних слеш.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...