【问题标题】:How to send a Js-variable to the Server for php-array | Joomla如何将 Js 变量发送到 php-array 的服务器 | Joomla
【发布时间】:2013-09-26 20:45:38
【问题描述】:

我只是试图找到最好的方法, 将 Js 变量发送到服务器进行进一步评估, 但一方面,我不知道 Javascript,另一方面,我已经 没有对正在运行的技术范围进行概述。 有人可以帮助我吗?

在带有 jQ​​uery 的 Joomla 3.1.x 环境中,我有这个功能 (这里在 php $js-string 中):

$js    .= "
function cont_printSelection() {
    var sel = cal5.selection.print('%Y%m%d', ' -> ');
    if (sel.length == 0) sel = 'No date selected';
        else
    sel = sel.join(\n);
    alert(sel);        };
    ";

'sel' 给出类似“20130904 -> 20130906, 20130908”的内容 从那里我需要一个 php-array。

如何将它发送到服务器? 我听说了一些关于XMLHttpRequest

或 JSON

或将其作为隐藏字段发送?

<form>
<input type="hidden" value="sel">
</form>

什么最安全和执行? 我认为,没有 Js/Ajax 是不可能的,因为需要重新加载?

并且:全部在 Joomla 3.1.x 环境中。 可能是,J!有没有为这个场合做好准备?

罗伯

【问题讨论】:

  • 不知道joomla,但是可以用数据设置表单中的隐藏字段。如果你想要它在 JSON 中,它需要看起来像 {"20130904":"20130906"} 其中左侧是键,右侧是值。然后,您可以在 php 端使用 php json_decode($json, true) 来像使用常规 php 数组一样使用数据。您在 javascript 中生成的任何内容对每个人都是完全可见的。如果这里的安全性是一个问题,你可能想走另一条路。
  • XMLHttpRequest 现在被称为Ajax。您想要执行的过程称为“序列化” - 在 JS 端和“反序列化” - 在 PHP 端
  • 超,@Jacob,谢谢!到现在为止,我看不到,为什么/如何我只是可以发送这个纯字符串“20130904 -> 20130906, 20130908”,我在警报通知中看到?

标签: javascript php ajax joomla send


【解决方案1】:

使用 cookie。 javascripthttp://www.quirksmode.org/js/cookies.html phphttp://php.net/manual/en/function.setcookie.php 无法使用 php 删除 javascript_cookie c,反之亦然。

【讨论】:

    猜你喜欢
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2020-08-08
    • 2020-06-09
    相关资源
    最近更新 更多