Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
使用jQuery更改PHP通用图像_Php_Jquery_Ajax - Fatal编程技术网

使用jQuery更改PHP通用图像

使用jQuery更改PHP通用图像,php,jquery,ajax,Php,Jquery,Ajax,我有以下HTML和Javascript代码: <script type="text/javascript"> $(function() { $('#form_1 input').on('change', function() { val = $('input:radio[name=graf]:checked').val(); $.ajax({ type: 'POST', data: ({graf_id: val})

我有以下HTML和Javascript代码:

<script type="text/javascript">
  $(function() {
    $('#form_1 input').on('change', function() {
      val = $('input:radio[name=graf]:checked').val();

      $.ajax({
        type: 'POST',
        data: ({graf_id: val}),
        url: 'rrd_image.php',
        success: function(data) {
          $('#div_1 img').attr('src', data);
        }
      });
    });
  });
</script>

<div id="div_1">
  <form id="form_1">
    <input type="radio" name="graf" value="1">Daily
    <input type="radio" name="graf" value="2">Weekly
    <input type="radio" name="graf" value="3">Monthly
  </form>

  <img src="default.png">
</div>
rrd_graph.php本身正在工作,但是当我单击一个单选按钮时,HTML页面
不要重新加载正确的PHP生成的rrd图像。

问题在于PHP文件返回的是图像,而不是URL。我要做的是在查询字符串中传递你的
graf
值和一个时间字符串,然后告诉JS加载该图像

$(function() {
    $('#form_1 input').on('change', function() {
      var val = $('input:radio[name=graf]:checked').val();
      var time = new Date().getTime();

     $('#div_1 img').attr('src', 'rrd_image.php?graf_id=' + val + '&time=' + time);
    });
  });

您不再需要AJAX,因为
time
参数总是不同的,因此浏览器不会缓存它。

您是否尝试使用
print\r($\u POST)记录
$\u POST
变量?您好,php脚本正在工作,我认为问题出在ajax函数中。请尝试将
数据:({graf_id:val}),
替换为
数据:{graf_id:val},
$(function() {
    $('#form_1 input').on('change', function() {
      var val = $('input:radio[name=graf]:checked').val();
      var time = new Date().getTime();

     $('#div_1 img').attr('src', 'rrd_image.php?graf_id=' + val + '&time=' + time);
    });
  });