gpt4 book ai didi

javascript - 如何通过javascript将数组作为参数传递给plsql过程

转载 作者:行者123 更新时间:2023-12-02 19:30:24 24 4
gpt4 key购买 nike

我正在从 window.opener.location.href 调用 plsql 过程,我想将一个数组作为参数传递给该过程。

window.opener.location.href="dt_bulk_test_pkg.pc_bulk_test?ps="+frmresult.ps.value+
"&p_step="+frmresult.p_step.value+
"&p_year="+frmresult.p_year.value+
"&p_quarter="+frmresult.p_quarter.value+
"&p_diagnostic_type="+frmresult.p_diagnostic_type.value+
"&p_overwrite="+frmresult.p_overwrite.value+
"&p_company_id="+v_comp_id;

v_comp_id 是一个数组。

最佳答案

PL/SQL 是一种数据库技术,Javascript 是一种浏览器内技术(除非您使用 Node 或 Rhino 执行服务器端 JS,但您不是)。浏览器只能与网络服务器通信。因此,从 javascript 的 Angular 来看,您不是在调用存储过程,而是在调用一个 Web 服务器,您必须在调用该存储过程的地方运行该服务器。

数组的具体表示方式取决于服务器端语言/Web 框架,但 jQuery 的 $.param 采取的相当标准的方法。方法。例如,打开此站点上的控制台我可以执行以下操作:

> $.param({example: [1,2,3]})
"example%5B%5D=1&example%5B%5D=2&example%5B%5D=3"

警告的话。

  • 直接通过 HTTP 公开数据库存储过程不仅是糟糕的设计,而且可能会带来严重的安全风险。
  • 在 URL 中嵌入参数意味着您正在使用 HTTP GET 请求。 GET 请求适用于不影响服务器状态的资源,因此请注意您的存储过程仅获取数据,而不更改数据。危险在于,有人可以将该 URL 放入电子邮件中,甚至将其放入网页上的 img src 标记中,然后人们只需单击链接或访问网页即可访问该 URL。
  • 所有参数均需经过url编码。正如我提到的,jQuery.param 将执行此操作。
  • 您可能会将自己暴露于 XSS attacks也是如此。

关于javascript - 如何通过javascript将数组作为参数传递给plsql过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com