在ajax中混合javascript和php变量

时间:2010-11-24 20:46:16

标签: php javascript jquery ajax

我有一个非常基本的jQuery ajax事情发生,但我想将JS检索的表单数据与一些PHP变量混合,并将它们全部作为ajax GET的一部分发送。这应该有用吗?:

var longform = $("input:text").serialize(); 
$.ajax({
    url:    'actions/create.php',
    data:   longform + "domain=<?php echo $domain; ?>&useragent=<?php echo $useragent; ?>&ip=<?php echo $ip; ?>&cookieuser=<?php echo $cookieuser; ?>",

目前,当create.php尝试回送变量时,它们是空的。

更新

根据建议检查来源后,它出现如下:

data:   longform + "&domain=example.com&useragent=Mozilla/5.0

3 个答案:

答案 0 :(得分:1)

您需要在 domain = 之前添加&符号(&amp;)。否则,它应该没问题。

在页面上执行查看源,并确保javascript字符串看起来也正确。

答案 1 :(得分:1)

如果你添加PHP的urlencode()-function

,一切都应该没问题
"domain=<?php echo urlencode($domain); ?>&useragent=<?php echo urlencode($useragent); ?>&ip=<?php echo urlencode($ip); ?>&cookieuser=<?php echo urlencode($cookieuser); ?>"

这可以防止可能由您的数据引起的语法错误(即,如果您有反斜杠或其他特殊字符)。

答案 2 :(得分:0)

我宁愿把所有数据都放在隐藏的输入中,然后一次串行化。

汤姆