使用jQuery更改PHP通用图像
我有以下HTML和Javascript代码:使用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})
<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);
});
});