0

我有一个奇怪的问题,我现在无法解决。

我的本地站点(宅基地)正在像这样在页面中写出 javascript 对象

var carriageCosts = [{"id":1,"weight":0,"cost":12,"created_at":"2015-10-20 06:25:13","updated_at":"2015-10-20 06:25:13"}]

重量和成本是整数。在使用 forge 部署到 digitalocean 后,它会像这样写出来

var carriageCosts = [{"id":"1","weight":"0","cost":"12","created_at":"2015-10-21 02:49:37","updated_at":"2015-10-21 02:49:37"}]

重量和成本现在是字符串!!

这会导致 javascript 出现错误。有没有人见过这个?解决这个问题的一些方向将不胜感激。

数据像这样发送到刀片视图

return view('quote.create')
    ->with([
        'customers' => $customers,
        'sellPrices' => \App\SellPrice::all(),
        'coreCaps' => \App\CoreCap::where('available', 1)->get(),
        'threePhaseCostings' => \App\ThreePhaseCosting::all()->first()
    ]);

刀片视图写出数据

var carriageCosts = {!! $carriageCosts !!};

数据库中的权重和成本列都是整数。

开发服务器正在返回具有正确数据类型的 Eloquent 对象,即整数是整数。生产服务器返回具有不正确数据类型的 Eloquent 对象,即整数是字符串。

有一些服务器配置不同,但我找不到它......

4

1 回答 1

0

在您json_encode()可以使用的选项中JSON_NUMERIC_CHECK

echo json_encode($arr, JSON_NUMERIC_CHECK);

引用php json 常量

于 2015-10-21T03:29:48.137 回答