如何在没有休息调用的情况下将 php json 变量分配给 angular?

Posted

技术标签:

【中文标题】如何在没有休息调用的情况下将 php json 变量分配给 angular?【英文标题】:How to assign a php json variable to angular without a rest call? 【发布时间】:2015-07-03 21:04:01 【问题描述】:

我想用 php 加载我的初始页面,所以我的页面中已经有了变量,而不是调用 rest 来获取变量,我需要以某种方式将它分配给 angular。我看到了不同的方法,比如

<.....ng-init="somefunction('<?echo $myjsonstring?>')"> 

但这不起作用,因为它认为我的 json 字符串以第一个双码结尾。我虽然用一些特殊符号和角度替换双码以将其替换回来,但这需要一些处理,我认为这会减少它表现。有没有其他方法可以做到这一点?

【问题讨论】:

通常来自 php 的旨在供 js 使用的数据作为编码字符串存储到数据属性中并由 js 解码。在此处查看示例***.com/questions/7322682/… 【参考方案1】:

试试json_encode:

<...ng-init="somefunction('<?php echo json_encode($myjsonstring); ?>')">

【讨论】:

这不起作用,好像编码的 json 字符串类似于 "key:"value",然后它被转换为 <...ng-init> ,这里假设函数中的参数只有 "" ,我得到解析错误。【参考方案2】:

如果你想构建一个“复杂”的 JSON,你可以像这样使用Simple JSON for PHP:

<...ng-init="somefunction('<?php
include('includes/json.php');
$Json = new json();
$Json->add("teachers", $teachers_object);
$Json->add("users", $users_object);
$Json->add("someArray",$anArray);
echo $Json->make();
?>')">

【讨论】:

以上是关于如何在没有休息调用的情况下将 php json 变量分配给 angular?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 MVC 引用的情况下将 JSON 对象返回给客户端?

如何在没有可选值的情况下将字典数组快速转换为json字符串[重复]

如何在没有 grunt 或 gulp 的情况下将 typescript 编译器作为 package.json 脚本运行

如何在没有 ASP.NET Core 的情况下将 Json 数据从控制器发送到 javascript?

如何在没有 Index.html 或.php 的情况下将我的 Web 应用程序文件运行到服务器?

在没有结构的情况下将 yaml 转换为 json