将参数从服务器端 PHP 传递到客户端 JavaScript 的最安全方法是什么[重复]

2024-03-04

在我的应用程序中,我严重依赖 JavaScript 来增强用户界面,但所有数据都来自数据库并由 PHP 处理。默认情况下,我使用“echo”语句来“及时”替换所需的值,如下所示:

var myVariable = <?php echo $myVariableInPHP ?>

然而,这并不让我觉得非常优雅,我担心此类代码的稳定性和可维护性。

我这里还有其他选择吗?

对于服务器端,我使用 Symfony 1.4 PHP 框架。

Thanks,


我最喜欢的方式是:

<?php

$var = array(
  'prop1' => 'value1',
  'prop2' => 'value2',
  // ...
);

?>
<script type="text/javascript">
   var varNameSpace = <?php echo json_encode($var); ?>;

   alert( varNameSpace.prop1 ); // -> 'value1'
</script>

Using json_encode()确保传递给 Javascript 的值被转义并且格式正确。使用公共变量容器还可以防止过度使用全局空间(窗口)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将参数从服务器端 PHP 传递到客户端 JavaScript 的最安全方法是什么[重复] 的相关文章

  • 在自动完成上添加 jQuery 延迟

    我正在尝试为应用程序创建 jQuery 自动完成 search input on keyup function search this val autocomplete div autocomplete get ajax search se
  • 如何在 jQuery 中将标题转换为 URL slug?

    我正在 CodeIgniter 中开发一个应用程序 我试图在表单上创建一个字段来动态生成URL slug 我想做的是删除标点符号 将其转换为小写 然后用连字符替换空格 例如 Shane s Rib Shack 将变成 shanes rib
  • Pjax动画

    我终于让 pjax 工作了 但我还有另一个问题 如何添加一些 jquery 动画 如淡出 幻灯片旧内容和淡入 幻灯片新内容 默认情况下 pjax 只是更改内容 没有任何好看的效果 任何帮助将非常感激 此致 基本上 你有一堆事件 https
  • fadeOut() 和slideUp() 同时进行?

    我已经发现jQuery 淡出然后滑动 https stackoverflow com questions 734554 jquery fadeout then slideup这很好 但不是那个 我怎么能够fadeOut and slideU
  • 转义 \u200b(零宽度空格)和其他非法 JavaScript 字符

    我有一组 JavaScript 对象 我引导到后端模板 以在页面加载时初始化我的 Backbone js 集合 它看起来像这样 作为 Twig 模板 我遇到的问题是某些文本字段包含 u200b 零宽度空格 这会破坏
  • 为什么函数声明在不同浏览器中的处理方式不同?

    虽然我在谷歌中找不到对此的引用 但我熟悉这样一个事实 在 javascript 中 全局函数声明在执行任何代码之前都会被解释 换句话说 这工作得很好 f function f 但是 我注意到 chrome 和 firefox 对全局函数声明
  • Rangy:插入符号下的单词(再次)

    我正在尝试创建一个预输入代码以添加到 wysihtml5 富文本编辑器 基本上 我需要能够插入人员 标签引用 例如 Twitter Github Facebook 我发现一些人试图实现同样的事情的代码 http jsfiddle net A
  • 冒泡可用于图像加载事件吗?

    我可以用吗 window addEventListner 某种程度上来说 我所有的图像都有一个display none 图像加载后 我想设置display inline 这样我就可以规范下载图像时显示的内容 在这种情况下 我无法预加载图像
  • 非法使用break语句; javascript

    当这个变量达到一定数量时 我希望循环停止 但我不断收到错误 未捕获的语法错误 非法的中断语句 function loop if isPlaying jet1 draw drawAllEnemies requestAnimFrame loop
  • 如何按 Angular 表中的属性(该属性具有单个 rownspan)进行分组?

    我没有找到这个问题的合适标题 我的问题是 例如 我有一个包含两列的表 列汽车品牌和列汽车型号 我希望表是 like in this picture 换句话说 品牌名称只会出现 1 次 我的输入数组采用以下 json 格式 brand Aud
  • 使用 PHP 创建图表并导出为 PDF

    我正在寻找有关使用 PHP 创建图表的建议 我还希望能够将这些图表导出到 PDF 文档 我目前正在使用谷歌图表 但我不喜欢将我的所有信息发送到谷歌的想法 我更喜欢自己的托管解决方案 我见过很多 Flash 解决方案 但我不知道有什么方法可以
  • 嵌套 DIV 的类似斑马的 CSS 样式

    我嵌套了 DIV 元素 但我不知道嵌套的级别 我需要每个都有与其父级不同的背景 创建类似斑马的颜色 我只使用两种背景 深色和白色 效果需要类似于在容器中设置奇数和偶数子级的样式 但在我的例子中 子级是嵌套的 我可以使用每个嵌套元素的规则来做
  • AngularStrap 工具提示禁用我的自定义指令

    我正在尝试让 bs tooltip AngularStrap 指令与我自己的名为 checkStrength 的自定义指令一起使用 该指令检查密码的强度 单独使用这些指令中的任何一个时 它们都可以正常工作 但不能一起工作 This http
  • 使 Bootstrap Popover 在悬停而不是单击时出现/消失

    我正在使用 Bootstrap 构建一个网站Popover http twitter github com bootstrap javascript html popovers我不知道如何使弹出窗口出现在悬停而不是单击时 我想做的就是当有人
  • 如何检查号码是否是巴基斯坦用户的手机号码而不是固定电话号码

    我所做的是从开头删除 92 或 0092 并使用以下代码检查它是否是巴基斯坦人的有效手机号码 if preg match 3 0 4 0 9 number 1 Pakistani mobile number else not a pakis
  • 标记(Markdown)+ Mermaid(流程图和图表)

    努力去争取 美人鱼 https github com knsv mermaid https github com knsv mermaid跟 共事 标记 https github com chjj marked https github c
  • Vue-Router 抽象父路由

    我正在尝试将当前网站迁移到 vuejs 站点地图必须是 login signup password reset browse search dozens of other routes 由于其中一些路线共享大量 fx 因此我将它们设为父路线
  • 使用ExternalInterface和IE从JavaScript获取Flash中的当前URL

    我正在尝试获取 Flash 播放器当前所在的 URL 不是 swf 文件的 URL 而是浏览器指向的 URL 到目前为止我已经使用过 var st String ExternalInterface call window location
  • PHP 文件上传帮助

    div align center div 这是我的代码
  • 如何为 jQuery 插件设置私有变量?

    我想创建一个简单的插件 它使用元素的文本作为默认值 或者您可以在调用插件时设置此值 但是 如果我不设置该值 并为多个元素调用插件 则默认值会成倍增加 function fn reText function options var setti

随机推荐

  • intentService :为什么我的 onHandleIntent 从未被调用?

    我正在使用 android xml rpc 来安装服务器 为此 我正在使用intentService 唯一的问题是 当启动服务器类时 我的包含服务器的 onHandleIntent 永远不会被调用 我做了一些研究 发现有人有同样的问题 他设
  • 为 sklearn 梯度增强分类器设置自定义损失

    Sklearn 梯度增强分类器接受偏差和指数损失 详见here https scikit learn org stable modules ensemble html gradient boosting and here https sci
  • Java 性能技巧

    我有一个程序从 C 移植到 Java 这两个应用程序都使用快速排序来排序一些分区数据 基因组坐标 Java 版本运行速度很快 但我想让它更接近 C 版本 我使用的是 Sun JDK v6u14 显然 我无法与 C 应用程序相媲美 但我想了解
  • 如何在 python 中合并列表? [复制]

    这个问题在这里已经有答案了 我有 2 个列表 例如 1 2 3 和 4 5 6 如何将它们合并到 1 个新列表中 1 2 3 4 5 6 不是 1 2 3 4 5 6 运算符可用于合并两个列表 data1 1 2 3 data2 4 5 6
  • Angular 2 下拉菜单中的 bootstrap 4 不起作用

    我按照以下步骤将 bootstrap 4 安装到我的 Angular 2 项目中 接受答案 遵循前 1 2 3 和 4 个步骤 https stackoverflow com questions 37649164 how to add bo
  • 在 SpriteKit 中预加载纹理

    我做了一些研究 但似乎找不到任何可以清楚解释如何在动画中预加载单个纹理和纹理的内容 我目前正在使用Atlas s in Assets xcassets对相关的动画图像进行分组 我的图像出现在 Atlas 中是否意味着它们已被预加载 就单个图
  • Bootstrap 轮播图像未以全宽显示

    我正在创造一个简单的 HTML 模板 http zulhfreelancer com projects omar 使用Bootstrap 3 我在中等尺寸显示中检查模板 看起来不错 但是当我在更大的显示器 和更高分辨率 中检查它时 我在轮播
  • 为什么非常大的 Spark 阶段不使用所有可用的执行器?

    我正在运行一个包含一些非常大的阶段 例如 gt 20k 任务 的 Spark 作业 并使用 1k 到 2k 执行器运行它 在某些情况下 阶段似乎运行不稳定 随着时间的推移 许多可用的执行器变得空闲 尽管仍然处于有许多未完成任务的阶段中间 从
  • 编码 UI - 无法识别 Wpfbrowser 上的 html 控件

    我是 CodedUI 和 C 的新手 我正在尝试自动化具有 WPF 浏览器的 wpf 应用程序 基本上 它是一个 WPF 容器 里面有 html 内容 我创建了一个类似的示例小应用程序并在这里分享 此应用程序在 wpfwindow 中打开
  • 将 jquery 日期选择器位置设置为文本字段的顶部

    Jquery datepicker 显示在测试字段下 有时它会出现在文本字段的顶部 但我想始终将日期选择器显示在测试字段的顶部 怎么做 以下代码将始终将日历放置在输入字段的顶部 txtDate datepicker beforeShow f
  • Google Drive 将元数据添加到文件

    我想使用 googledrive api 来搜索文件 我想向其中添加元数据 Example File computers1 pdf Brand brand1 File computers2 pdf Brand brand2 File com
  • 在 ER 图中定义实体、属性和关系的基本规则是什么?

    构建 E R 图时 以下哪项必须具有关键and属性 entity 实体类型 关系类型 关系 具有关系类型的元组 在原始的实体 关系方法中 我们识别实体类型和关系 关联类型及其相关属性 在绘制 ER 图时 我们选择一组或多组可以将类型实例标识
  • 在 Windows 7 家庭普通版上找不到 IIS

    我刚刚购买了一台全新的联想 idealpad 笔记本电脑 运行 Windows 7 Home Basic 库存中没有操作系统 DVD 但笔记本电脑确实有操作系统恢复软件 如果您想将它们刻录到 DVD 上的话 我想今天大多数硬件都是这样销售的
  • Go 中如何处理 i18n?

    我在网上搜索但没有找到任何与 i18n 和 Go 相关的内容 我希望使用 Go 来开发网站 应对国际化的最佳方式是什么 go i18n http nicksnyder github io go i18n 有一些不错的功能 实施CLDR 复数
  • 如何查询 SQL Server TEXT 列中包含 XML(不是 xml 列类型)的值

    我有表文档 DOCUMENTS DOCUMENTID int USERID int CONTENT text 我在 SQL Server 数据库中将以下 XML 存储在名为 CONTENT 的 TEXT 列中
  • 如何使用 spring DSL 在camel 中记录标头值

    这看起来应该很简单 请原谅双关语 我正在尝试在 Spring DSL 路由中的 Camel 中记录标头 我已经看到了答案Java DSL https stackoverflow com questions 15111044 how to a
  • ASP.NET:显式本地化与隐式本地化?

    在我看来 隐式本地化相对于显式本地化的优势在于 如果您有多个属性要针对给定控件进行本地化 那么这是一种更经济的语法 如果您只需要本地化一些文本 我会使用 asp Localize 控件 该控件仅具有呈现到 UI 的单个属性 文本 有理由使用
  • 如何平滑圆角矩形的角,Swing?

    当我尝试制作圆角矩形时 我的角变得非常像素化 有什么办法可以平滑它们吗 这是一张图片 注意角落 以下是我子类化并重写绘制方法的按钮的代码 带有像素化角的按钮 public class ControlButton extends JButto
  • .NET 类型的私有成员的命名约定 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将参数从服务器端 PHP 传递到客户端 JavaScript 的最安全方法是什么[重复]

    这个问题在这里已经有答案了 在我的应用程序中 我严重依赖 JavaScript 来增强用户界面 但所有数据都来自数据库并由 PHP 处理 默认情况下 我使用 echo 语句来 及时 替换所需的值 如下所示 var myVariable 然而