我需要将一个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?如果我错误地解释了什么,我会提前道歉,这对我来说都是新的。
谢谢!
答案 0 :(得分:0)
您有正确的想法,但您需要使用print
或echo
之类的命令来填充变量:
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插件。