如何在不转义Laravel中的字符的情况下从服务器发送javascript响应

如何在不转义Laravel中的字符的情况下从服务器发送javascript响应,javascript,php,jquery,laravel,ckeditor,Javascript,Php,Jquery,Laravel,Ckeditor,嗨,我正在我的laravel应用程序中使用CKEditor。我正在浏览我的计算机并将图像上载到服务器 使用此代码 CKEDITOR.replace( 'messageArea',{ filebrowserUploadUrl: '/newseditor/imageupload' }); 在我提交图像后,我需要将响应发送回我的html页面 echo“window.parent.CKEDITOR.tools.callFunction($funcNum,$url,'$message');” 但

嗨,我正在我的laravel应用程序中使用CKEditor。我正在浏览我的计算机并将图像上载到服务器

使用此代码

CKEDITOR.replace( 'messageArea',{
    filebrowserUploadUrl: '/newseditor/imageupload'
});
在我提交图像后,我需要将响应发送回我的html页面

echo“window.parent.CKEDITOR.tools.callFunction($funcNum,$url,'$message');”

但它并不是以javascript函数的形式执行它。在我的资料中,我可以把它看作

"<script type='text\/javascript'>window.parent.CKEDITOR.tools.callFunction(204, 'test\/test', '');<\/script>"
因此特殊字符被转义:(.我试图使用

htmlspecialchars_decode
htmlspecialchars_encode
json_decode
json_encode
但我仍然无法将其作为js函数触发,我是否可以实现这一点

谢谢你

更新

这是我下面的教程


不确定您是否正在使用刀片,

但是在使用它的情况下,不转义字符的语法是{!!$name!!}

我还尝试使用var_dump来确保问题不在ckeditor格式中

用于禁用ckeditor html格式的配置设置:

config.htmlEncodeOutput = false;
config.entities = false;
文件:


不确定您是否正在使用刀片,

但是在使用它的情况下,不转义字符的语法是{!!$name!!}

我还尝试使用var_dump来确保问题不在ckeditor格式中

用于禁用ckeditor html格式的配置设置:

config.htmlEncodeOutput = false;
config.entities = false;
文件:


事实上,我无法从服务器上传递JS。因此,我使用jQuery做了一个简单的工作。我将使用jQuery捕获响应并手动将其添加到URL字段。到目前为止,这一切正常,希望这对任何人都有帮助。谢谢

我正在使用图像提交按钮的点击事件

$(document).on('click',".cke_dialog_ui_button",function() {

        var element = $(this).closest("tr").prev();
        element.find("iframe").hide();

        var checkExist = setInterval(function() {

           var url_container = element.find("iframe").contents().find("body pre");
           if ((typeof url_container != 'undefined') && (url_container.length > 0)) {

              var url = $.trim(url_container.html());
              url = url.replace(/[\\"]+/g,'');

              if(url.length > 0)
              {
                  url_container.html("");
                  $(".cke_dialog_page_contents:first").find("table tbody tr:first").find(":text").val(url);               
              }

              element.find("iframe").show();
              clearInterval(checkExist);

           }
        }, 200);

    });

事实上,我无法从服务器传递JS。因此,我使用jQuery做了一个简单的工作。我将使用jQuery捕获响应并手动将其添加到URL字段。到目前为止,这一切正常,希望这对任何人都有帮助。谢谢

我正在使用图像提交按钮的点击事件

$(document).on('click',".cke_dialog_ui_button",function() {

        var element = $(this).closest("tr").prev();
        element.find("iframe").hide();

        var checkExist = setInterval(function() {

           var url_container = element.find("iframe").contents().find("body pre");
           if ((typeof url_container != 'undefined') && (url_container.length > 0)) {

              var url = $.trim(url_container.html());
              url = url.replace(/[\\"]+/g,'');

              if(url.length > 0)
              {
                  url_container.html("");
                  $(".cke_dialog_page_contents:first").find("table tbody tr:first").find(":text").val(url);               
              }

              element.find("iframe").show();
              clearInterval(checkExist);

           }
        }, 200);

    });

我不认为有任何方法可以单独对特殊字符进行编码!将内容写入一个隐藏的div,然后从那里读取。它可能help@RayonDabre嗨,我想这是由Laravel框架完成的。你必须使用echo吗?你是在刀片模板中完成的吗?使用js的.append函数吗?我不认为有任何特殊字符编码的方法d本身!将内容写入隐藏的div,然后从那里读取。它可能help@RayonDabre嗨,我想这是做的Laravel框架你必须使用echo吗?你在刀片模板中这样做吗?使用js的.append功能?