【发布时间】:2013-09-26 20:45:38
【问题描述】:
我只是试图找到最好的方法, 将 Js 变量发送到服务器进行进一步评估, 但一方面,我不知道 Javascript,另一方面,我已经 没有对正在运行的技术范围进行概述。 有人可以帮助我吗?
在带有 jQuery 的 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 端使用 phpjson_decode($json, true)来像使用常规 php 数组一样使用数据。您在 javascript 中生成的任何内容对每个人都是完全可见的。如果这里的安全性是一个问题,你可能想走另一条路。 -
XMLHttpRequest现在被称为Ajax。您想要执行的过程称为“序列化” - 在 JS 端和“反序列化” - 在 PHP 端 -
超,@Jacob,谢谢!到现在为止,我看不到,为什么/如何我只是可以发送这个纯字符串“20130904 -> 20130906, 20130908”,我在警报通知中看到?
标签: javascript php ajax joomla send