我正在开发一个显示数据库记录的线图的应用程序。 用户在html页面中查看图形,并可以通过从选择框中选择它们来更改参数以查看他感兴趣的图表。 在html页面后面有一个php页面,它对数据库进行查询,并将结果转换为json格式,用于html页面中的图形。
现在我正试图将选择框中的值(用户选择的参数)发布到php页面,但我不希望以后看到php,而是希望刷新html页面显示带有所选值的新图形。
要将值发布到php我使用的是这样的东西:
<form action="index.php" target="_blank" method="post">
<select name="Tasel" onchange="this.form.submit()">
<option value="3">Tuloslaskelma</option>
<option value="2">Tasevastattava</option>
<option value="1">Tasevastaava</option>
</select>
它发布了值ok,但现在我不知道如何同时使用新图形重新加载html。关于什么是最好的方式,我会很感激。我已经阅读了几个关于使用Ajax的建议,但还没有找到让它工作的方法。在此先感谢!!!
答案 0 :(得分:2)
使用 postirect-after-post 模式可以更清晰地解决您遇到的问题。
可以找到更高级的说明here。
另一点是,您需要注意 webserver 发送的响应标头以及图像响应。如果涉及缓存等问题,可能会导致显示旧图片。
答案 1 :(得分:1)
如果你想使用Ajax,你需要学习更多关于JavaScript的信息(如果你愿意,还需要学习jQuery。
否则,您可以在表单处理(在index.php中)完成后简单地重定向。
index.php
<?php
// Form processor here
// Make sure nothing is outputted to the browser
header( 'Location: ' . $_SERVER['HTTP_REFERER'] );
exit();