我有什麼: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只是一個複製粘貼錯誤 –