使用PHP+;在后台更新JavaScript变量;jQuery

使用PHP+;在后台更新JavaScript变量;jQuery,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,这是“process.php”文件中代码的一部分: echo "<script type='text/javascript'> percYes = ".$yes."</script>" echo "<script type='text/javascript'> percNo = ".$no."</script>" echo“percYes=”.$yes。“” echo“percNo=”.$no.“” 当用户单击按钮时,这个“process.ph

这是“process.php”文件中代码的一部分:

echo "<script type='text/javascript'> percYes = ".$yes."</script>"
echo "<script type='text/javascript'> percNo = ".$no."</script>"
echo“percYes=”.$yes。“”
echo“percNo=”.$no.“”
当用户单击按钮时,这个“process.php”文件在后台运行(使用jQuery/ajax)。上面的“回显”html替换了div的内容。因此,本质上,我尝试使用后台php调用更新一些Javascript变量,但上述解决方案似乎不起作用,即,一旦将脚本放入div中,脚本就不会运行

一个额外的问题是使用这些更新的Javascript变量来更新图形。我有一个workng javascript绘图函数,但问题是让新的图形替换旧的图形(或者如果可能的话,只更新它)


谢谢。

如果您只想更新一些JS变量,最好让process.php文件返回json字符串:

$array = ('percYes' => $yes, 'percNo' => $no);
echo json_encode($array);
这将为您提供一个json字符串,该字符串可以在JS ajax调用的回调中计算和使用

因此,如果在可访问的作用域中有一个var“percYes”和“percNo”,则回调可能如下所示:

function(jsonstr) {
  obj = eval(jsonstr);
  percYes = obj.percYes;
  percNo  = obj.percNo;
}

我希望这会有所帮助。

您使用什么函数进行ajax调用。要将数据解析为脚本,我想应该使用$.load,而不是$.ajax。我确实不太了解这方面的内容,但我使用的是
xmlhttp.open()
xmlhttp.send()
。我将查看$.load。编辑:哇,$.load看起来很完美。还有jQuery的功能,只需加载一个脚本文件。这听起来很棒!所以,当我想更新js变量时,我调用函数(jsonstr)?