我有什么:CKEditor的无法解析JSON响应
- Symfony2的
- 的CKEditor与Image和Enhanced Image (also image2)插件
我发现了大约将文件上传到服务器上official site信息:
示例 - 设置图片上传插件:
config.extraPlugins = 'uploadimage';
config.imageUploadUrl = '/uploader/upload.php?type=Images';
响应:文件,当文件上传成功 然后用下面的条目JSON响应上传成功的 预计:
- 上传 - 设置为1
- 文件名 - 上传文件的名称。
- url - 上传到文件(URL编码)的 的URL。
实施例:
{
"uploaded": 1,
"fileName": "foo.jpg",
"url": "/files/foo.jpg"
}
Symfony的返回JSON性反应:
return new JsonResponse(
array(
'uploaded' => '1',
'fileName' => $image->getName(),
'url' => $image->getWebPath()
)
);
后成功上载的图像I看到:
和错误在JS控制台:
资源解释为文献但MIME类型 应用/ JSON移送: “http://example.com/app_dev.php/dashboard/settings/upload/image?CKEditor=example_post_content&CKEditorFuncNum=1&langCode=en”。
但必须努力喜欢上了official page(见第二主编)
我试图从Symfony的返回其他响应,如:
$response = new Response();
$response->headers->set('Content-Type', 'application/json');
$response->setContent(
json_encode(
array(
'uploaded' => '1',
'fileName' => $image->getName(),
'url' => $image->getWebPath()
)
));
return $response;
而不是作品。任何想法?
UPDATE
我用answer解决了这个问题。最终FCKeditor的代码看起来象:
$response = new Response();
$response->headers->set('Content-Type', 'text/html');
$content = "<script type=\"text/javascript\">\n";
$content .= "window.parent.CKEDITOR.tools.callFunction(1, '".$image->getWebPath()."', '');\n";
$content .= "</script>";
$response->setContent($content);
return $response;
有谁知道另一种解决方案或者为什么用JSON响应解决方案不起作用?当您在内容粘贴图片
你可以显示调用后端的js代码吗? –
为什么'$ return new JsonResponse'上有美元符号 – chiliNUT
@chiliNUT只是一个复制粘贴错误 –