从AJAX创建Javascript变量
说到AJAX,我实际上是个初学者,所以我需要一些帮助 我在我的索引/主页上有一些javascript,可以向第三方脚本发送一些XML从AJAX创建Javascript变量,javascript,php,ajax,Javascript,Php,Ajax,说到AJAX,我实际上是个初学者,所以我需要一些帮助 我在我的索引/主页上有一些javascript,可以向第三方脚本发送一些XML <script type="text/javascript"> var myChart = new FusionCharts("/FusionCharts/Radar.swf","myChartId", "784", "500", "0"); myChart.setXMLData("<?php echo $radar_data_str
<script type="text/javascript">
var myChart = new FusionCharts("/FusionCharts/Radar.swf","myChartId", "784", "500", "0");
myChart.setXMLData("<?php echo $radar_data_string; ?>");
myChart.render("chartContainer");
</script>
上面的代码将surveyid变量传递到getFeedback.php脚本,在那里创建$radar\u data\u string
当用户选择以下选项之一时,会发出AJAX请求
<select id="survey" name="survey" onChange="showFeedback(this.value);">
<option value=''>- -</option>
<option value='13182|customer1@hotmail.com'>Survey Title 1</option>
<option value='13183|customer1@hotmail.com'>Survey Title 2</option>
</select>
- -
调查标题1
调查标题2
问题是。。。没有数据正在加载。我非常确定我正在创建的$radar\u data\u string
字符串是正确的,因为当我找到该字符串并将其直接放入myChart.setXMLData时,它工作正常
那么,我是否误解了AJAX的工作原理(可能),或者我的思路是否正确
PS-如果你想帮忙,你应该知道我不能真正使用jQuery。对不起 您似乎误解了AJAX请求的工作方式(至少从我对您给出的代码的理解来看是这样)。AJAX请求的要点是从服务器请求新数据,而不必重新加载页面的其余部分 从我看到的情况来看,您将AJAX请求视为刷新页面中所有数据的某种通用连接。。。这不是它的工作原理 问题 这是回调函数一旦AJAX请求成功,您应该使用这里给出的响应来操作页面 您似乎试图直接
将PHP变量回送到文档中,这不起作用,因为在页面加载之前会解释PHP
您考虑过使用jQuery吗?它使设置AJAX请求的过程变得更加简单-好的。我想我现在明白了。我的AJAX PHP脚本实际上在做三件不同的事情。如何在myChart.setXMLData(xmlhttp.responseText)行中声明代码>我只想要脚本一部分的结果?(老实说,我在javascript方面也很垃圾)。我看不到响应,所以很难说,您应该以JSON或XML等格式返回响应,这样您就可以轻松地解释它并获得所需的部分。@korfer如果这个答案有帮助,请不要忘记将其标记为正确答案。
<select id="survey" name="survey" onChange="showFeedback(this.value);">
<option value=''>- -</option>
<option value='13182|customer1@hotmail.com'>Survey Title 1</option>
<option value='13183|customer1@hotmail.com'>Survey Title 2</option>
</select>
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
myChart.setXMLData("<?php echo $radar_data_string; ?>");
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
myChart.setXMLData(xmlhttp.responseText); //This being the server response...
}