Yii 1.x响应始终返回附加字符

时间:2018-07-26 10:24:24

标签: json yii

我在Yii Controller中创建了新的方法动作。此操作返回JSON格式的字符串。

简单的例子:

public function actionUpload() {
    header('Content-Type: application/json');

    $this->layout = false;
    echo (json_encode([
        'file-1' => [
             'url' => 'http://via.placeholder.com/350x150'
        ]
    ]));

    Yii::app()->end();
}

但是,作为回应,我总是得到其他使我的JSON无效的字符。

可以从以下图像链接中看到简单的响应:https://i.stack.imgur.com/l8WUL.png(将红点表示为\ efeff char)。

如何解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:0)

  

(将红点表示为\ efeff char)

这可能是overlay.modal。因此,基本上,这是一个不可见的字符,您已将其隐藏在一个文件中(可能在<?php标记之前)。尝试使用一些IDE搜索或grep本地化此文件并删除此不可见的字符。

还有一些CS工具可能会在您的代码库中解决此问题。例如,ZERO WIDTH NO-BREAK SPACE具有non_printable_character修复程序,它将在您的代码中查找并删除此类字符。