通过json从php发送html代码到javascript

时间:2017-04-28 07:13:29

标签: javascript php jquery html json

我在JS中遇到以下错误: SyntaxError:意外的令牌<在位置0的JSON中

如何通过JSON正确发送HTML代码(整个页面)。 我没有提出这个想法,但这是我试图安装的插件,我收到了这个错误。所以如果有人能指出我这里有什么问题以及如何解决它,那就太好了。谢谢。 enter image description here

    public function ajaxfilter()
{
    $this->registry->set('bf_force_tmp_table_creation', true);
    $data = $this->_prepareFilterInitialData();

    $json = array();
    $route = $this->_getRequestParam('curRoute');
    if ($route && $this->_getRequestParam('withContent')) {
        $this->request->get['route'] = $route;
        $this->load->controller($route, $data);
        $json['products'] = $this->response->getOutput();
    }

    $this->load->model('module/brainyfilter');
    $model = new ModelModuleBrainyFilter($this->registry);

    $model->setData($data);

    if ((bool)$this->_getRequestParam('count', false)) {
        $json['brainyfilter'] = $model->calculateTotals();
    }
    if ((bool)$this->_getRequestParam('price', false)) {
        $minMax = $model->getMinMaxCategoryPrice();
        $min = floor($this->currency->format($minMax['min'], $this->_currency, '', false));
        $max = ceil($this->currency->format($minMax['max'], $this->_currency, '', false));
        $json['min'] = $min;
        $json['max'] = $max;
    }
    $this->log->debug($json);
    $isMijoShop = class_exists('MijoShop') && defined('JPATH_MIJOSHOP_OC');
    if ($isMijoShop) {
        header('Content-Type: application/json');
        die(json_encode($json));
    } else {
        $this->response->addHeader('Content-Type: application/json');
        $this->response->setOutput(json_encode($json));
    }
}

1 个答案:

答案 0 :(得分:0)

使用json_encode获取有效的JSON字符串。

您可以对任何标量值,数组和stdClass实例进行编码。对于任何其他类,您可以实现JsonSerializable接口。

一个简单的HTML示例:

<?php
$html = '<div class="container">What-Ever-Content </div>";
echo json_encode($html);

这将产生此输出:

"<div class=\"container\">What-Ever-Content </div>"