Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从AJAX创建Javascript变量_Javascript_Php_Ajax - Fatal编程技术网

从AJAX创建Javascript变量

从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

说到AJAX,我实际上是个初学者,所以我需要一些帮助

我在我的索引/主页上有一些javascript,可以向第三方脚本发送一些XML

<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...
    }