Javascript 对象返回PHP LARAVEL中的三个开-关引号

Javascript 对象返回PHP LARAVEL中的三个开-关引号,javascript,php,laravel,Javascript,Php,Laravel,我需要将我的对象数据传递给onclick javascript,但是我的控制台返回语法错误,我假设原因是我的对象数据,因为另一个对象没有问题。下面是我的数据示例 首先,为什么我的对象数据返回3个开-关引号?因此,我假设我的javascript无法通过。下面是我的代码示例 @if(!empty($paginationRecord)) @foreach($i=>$known的分页记录) @php $分号=数组(“;”); $break=数组(“”); $newphrase=str_replace(

我需要将我的对象数据传递给onclick javascript,但是我的控制台返回语法错误,我假设原因是我的对象数据,因为另一个对象没有问题。下面是我的数据示例

首先,为什么我的对象数据返回3个开-关引号?因此,我假设我的javascript无法通过。下面是我的代码示例

@if(!empty($paginationRecord))
@foreach($i=>$known的分页记录)
@php
$分号=数组(“;”);
$break=数组(“
”); $newphrase=str_replace($分号,$break,$known['ke_problem']);//ke_问题是我的对象返回 回音$newphrase; @endphp @endforeach @恩迪夫
我的javascript函数

function returnToCaller(data) {
    console.log(data);
    window.opener.getChildValError(data);
    window.close();
    return false; 
}

我们在laravel中有选项json_encode,它的简单

@if (!empty($paginationRecord))
@foreach ($paginationRecord as $i => $known)
    <a style="word-wrap: break-word" href="#" onclick="returnToCaller('{{json_encode($newphrase)}}');" title="Passing data back to the respective caller" class="crudlink"> ADD DESCRIPTION </a> 
@endforeach
@endif

}

“首先,为什么我的对象数据返回3个开-关报价?”-不,首先,我们在这里看到的是什么?可能是开发工具或其他东西的截图,但不是实际的源代码。我怀疑源代码中是否有三重引号,问题是内容中有换行符,而基本JS字符串文本中没有换行符。使用ES6模板字符串语法允许它们,或者在将值输出为JS字符串之前删除它们。不用了。让我们好好玩一玩吧?这3个引号是vardumper组件环绕字符串的东西,表示它是一个多行字符串。它实际上不在变量中。检查更多信息请不要查看代码图像或错误消息,只需简单的“旧ASCII文本”即可。试试这个100%有效,假设您的对象中有特殊字符,试试这个onclick=“returnToCaller({json_encode({newphrase,json_INVALID_UTF8_IGNORE)}”
function returnToCaller(data) {
console.log(JSON.parse(data));