这是代码??
发布代码:
$.post('get.php',{selected:"aaaa"},function(return){alert(return);});
当我使用
检查“选定”值的值时<?php
$r=$_POST['selected'];
echo $r;
?>
正确显示值“aaaa”..
此代码工作正常......
<?php
$r=$_POST['selected'];
?>
var answer="<?php echo "welcome" ?>";
当我们回显值“welcome”时,它存储在变量answer.and我可以打印...
但是当我这样说的时候......
<?php
$r=$_POST['selected'];
?>
var answer="<?php echo $r ?>";
空值存储在答案中......并且没有任何内容显示....
是否在“”里面指定$ r是不对的...如何指定......
答案 0 :(得分:1)
$_POST['selected']
一开始可能是空的。确保您为selected
发送非空值,并且您正在使用POST。 (最简单的方法是查看浏览器的开发人员工具以获取初始请求。)
请注意,直接将用户输入输出到页面会引入Cross-Site Scripting Vulnerability:输入"; alert("evil");
可以显示该信息。假设您使用的是UTF-8,您可以写:
var answer = <?php echo json_encode($_POST['selected']); ?>
此外,通常有更好的方法将数据从php传输到JavaScript,包括XHR请求/ JSON或data-*
attributes。
答案 1 :(得分:1)
假设您显示的PHP代码位于get.php
,则不会在同一文件中使用javascript。如果您想在页面中的javascript变量中获取返回值,则需要使用第一个php片段并使用.post
函数中的返回值:
javascript:
$.post('get.php',{selected:"aaaa"},function(data){
var answer = data;
});
<强> get.php 强>
<?php
$r=$_POST['selected'];
echo $r;
?>