繁体   English   中英

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

[英]How to pass URL variables to javascript in PHP

我需要将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的最佳方法是什么? 如果我误解了一些内容,我会提前道歉,这对我来说是全新的。

谢谢!

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

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

否则, $uext本身作为PHP语句实际上什么也没做。

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

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

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

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

再次查看您的示例时,我发现您在javascript中使用了php,但是缺少回显,因此应如下所示:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM