如何在PHP中将URL变量传递给javascript

时间:2011-11-10 03:47:43

标签: php javascript variables

我需要将一个URL变量放入一个PHP页面,然后将其传递给页面后面的HTML中的一些javascript。这是我需要使用变量的地方:

function dosubmit( ) {
new Ajax.Updater( 'result', 'dial.php', { method: 'post' , parameters: $('dialer').serialize() } );
$('dialer').reset();
}

URL变量的格式为dialout.php?ext = 1234。它作为$ ext存储在PHP中。结果是返回html的div将被放入,而dialer是用户输入电话号码的表单;我需要将它与$ ext变量一起传递给dial.php。我的想法是将两者连接起来,如

var ext = "<? $uext ?>";
var par = $('dialer').serialize();
var url = par;

然后使用url代替$('dialer').serialize()。但这不起作用; dial.php报告永远不会获得ext变量。将URL变量移动到PHP然后转换为js的最佳方法是什么,然后将其发布回PHP?如果我错误地解释了什么,我会提前道歉,这对我来说都是新的。

谢谢!

3 个答案:

答案 0 :(得分:0)

您有正确的想法,但您需要使用printecho之类的命令来填充变量:

var ext = "<? echo $uext ?>";

否则$uext本身作为PHP语句实际上什么都不做。

此外,您需要将ext变量包含在参数列表中。您当前的代码在填充后不会对ext进行任何进一步的引用:

var par = $('dialer').serialize();
par += '&ext=' + ext;

答案 1 :(得分:0)

我无法完全理解你想要的东西,但对于我一直在使用的类似情况: 从URL到PHP GET方法,从PHP到带有jsonencode()(ajax)的JS JSON,最后是ajax中的POST或GET到php页面。

应该有更好的方法来做到这一点。

再次看你的例子我看到你在javascript中使用php,但是你没有回声,所以它应该是这样的:

var ext = "<? echo $uext; ?>";

答案 2 :(得分:0)

如果它只是您提到的get参数,则没有理由不能直接在JavaScript中访问它。由于您似乎正在使用jQuery,因此您可能需要查看Query String Object插件。