我将ckeditor从版本3更新到4.16.12。我有一个自定义的upload.php,它仍然适用于图像,但对于pdf和其他允许的文件类型,它会给出"不正确的服务器响应"。错误信息描述为"文本无法解析为JSON"。我找不到任何关于预期参数的描述。我原来的代码返回:
echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction($funcNum, '$url', '$message')</script>";
我猜我尝试更新到
$return_data = array(
'url' => $url,
'message' => $message );
echo json_encode( $return_data );
和
$return_data = array(
'funcNum' => $funcNum'],
'url' => $url,
'message' => $message );
echo json_encode( $return_data );
无论哪种情况,当我返回JSON数据时,都会弹出一个警告框,上面写着"未定义"。
我做错了什么?在版本4中,我应该如何修改upload.php来上传文件?
编辑*我发现了一个YouTube视频,建议我应该使用
$return_data = array('file_name'=>$ url);
json_encode($return_data);
给出相同的结果- "undefined"在弹出框中。
我在另一个Stackoverflow帖子的例子中找到了答案。要返回的正确数据是:
$return_data = array( 'fileName' => $new_name, 'uploaded' => true, 'url' => $url );
echo json_encode( $return_data );
这对图像和其他文件类型(如pdf)都有效。