如何将php值传递给javascript?

如何将php值传递给javascript?,php,javascript,jquery,Php,Javascript,Jquery,这是代码 投寄代码: $.post('get.php',{selected:"aaaa"},function(return){alert(return);}); 当我使用 <?php $r=$_POST['selected']; echo $r; ?> is正确显示值“aaaa” 这个代码很好用 <?php $r=$_POST['selected']; ?> var answer="<?php echo "welcome" ?>"; var

这是代码

投寄代码:

$.post('get.php',{selected:"aaaa"},function(return){alert(return);});
当我使用

<?php

$r=$_POST['selected'];
echo $r;

?>

is正确显示值“aaaa”

这个代码很好用

<?php 

$r=$_POST['selected'];
?>
var answer="<?php echo "welcome" ?>";

var-answer=“”;
当我们回显值“welcome”时,它存储在变量answer中。我可以打印它

但是当我这样放的时候

<?php 

$r=$_POST['selected'];
?>
var answer="<?php echo $r ?>";

var-answer=“”;
答案中存储了一个空值。。。什么也没显示出来


在“”中指定$r是否不正确。。。如何指定……

$\u POST['selected']
一开始可能为空。确保为所选的
发送非空值,并且使用的是POST。(最简单的方法是在浏览器的开发人员工具中查找初始请求)

请注意,将用户输入直接输出到页面中会引入一个:输入
“alert(“evil”);
可以显示这一点。假设您在所有方面都使用UTF-8,您可以编写:

var answer = <?php echo json_encode($_POST['selected']); ?>
var应答=

此外,通常还有更好的方法将数据从php传输到JavaScript,包括XHR请求/JSON或。

假设您显示的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;
?>


您确定
$\u POST['selected']
中有一些数据吗?它看起来像
$\u POST['selected']
(反过来,
$r
)不包含任何内容。请验证您所发布的内容是否符合您的期望。请确保邮件中有某些内容。您是否提交了一个名为“selected”的表单?此处是否有更多代码?@还有另一个极客是的,$\u POST['selected'中有数据;@phihag我已经更新了代码??请检查??当我使用JSON指定为u时..“NULL”“显示……。@wel NULL在未设置
所选
字段时显示。请使用浏览器的开发工具检查它是否正确。@phihag我无法理解你的意思??。。所选字段不是指????如何使用开发工具进行检查???在输出JavaScript代码时,您不希望使用
htmlspecialchars
。这将破坏它,并且不会阻止XSS。相反,如果使用JS变量在HTML文档中插入任何文本,则应在此时对字符串进行HTML编码。@wel POST请求在HTTP正文中包含元组
(字段名、字段值)
的编码列表。浏览器的开发工具取决于。。。在浏览器上。在Chrome上,你可以使用
Ctrl+Shift+J
,在Firefox上,它是Firebug的扩展,在Opera上是内置的蜻蜓,在Safari上,你可以在
Settings->Advanced
下启用它们(在IE上,它可能是
F12
,但你希望使用另一个浏览器进行web开发)。转到“网络”选项卡并重新加载站点。筛选XHR请求。顺便说一下,不需要多个问号。