我正在尝试根据php DB 查询的结果构建一个 javascript 数据数组,用于浮点数。
当我输出数字 ($lic->Users) 时很好,但是每当我尝试输出字符串时,我都会在浏览器中得到一个完全空白的页面。
我试过了:
{{ $lic->CompanyName }}"<?php echo $lic->CompanyName; ?>"{{{ $lic->CompanyName }}} '"'+ <?php echo $lic->CompanyName; ?> +'"'但是当我对其进行硬编码(比如“公司名称”)时,它会很好地构建条形图(并显示页面)。
var data =
[
@foreach($licdata as $lic)
{
'label': "{{ $lic->CompanyName }}",
'data': [
["{{ $lic->CompanyName }}", {{ $lic->Users }}],
["{{ $lic->CompanyName }}", {{ $lic->Emps }}]
]
},
@endforeach
];
Run Code Online (Sandbox Code Playgroud)
我认为这一定与在 js 中引用/转义字符串有关,但我不知道是什么,有人知道正确的语法是什么吗?
更好的解决方案
在后端
以数组、关联或其他方式构建您的数据。
然后返回它。
return view( 'view_required',[
'my_var'=> json_encode($array_or_object, JSON_UNESCAPED_SLASHES );
]);
Run Code Online (Sandbox Code Playgroud)
在前面
<script>
var my_var = {!! $my_var !!};
</script>
Run Code Online (Sandbox Code Playgroud)
快乐编码。
这是我的错,我最终使用了:
"<?php echo $lic->CompanyName ?>"
{{ $lic->CompanyName }}一旦我纠正了根本问题(区分大小写的问题),也有效。
使用Fiddler(我强烈推荐),我发现空白浏览器页面(只是一个白色页面)是由我的页面中返回以下内容引起的:
var data =
[
@foreach($licdata as $lic)
{
'label': "<!DOCTYPE html
<html>
<head>
Run Code Online (Sandbox Code Playgroud)
接下来是一堆 html(head 标签、meta 标签、css 等)。
这是我的 SQL 中的字段名称(公司名称)的大小写略有不同的结果。
MS SQL Server 不关心大小写,而 PHP 则关心大小写(公司名称与公司名称)!
一旦 php/laravel 从结果集中创建对象,字段名称就会变成属性,当您访问它们时,它们必须匹配以防大小写。
始终检查 PHP 变量/对象的大小写,特别是如果框架将它们从记录自动转换为对象(或类似的东西)。
| 归档时间: |
|
| 查看次数: |
7193 次 |
| 最近记录: |