Итак, у меня есть страница, настроенная на использование Google Chart API через запросы POST. У меня есть несколько графиков для рисования, каждый из которых имеет кнопку отправки, чтобы пользователь мог просматривать любой график, который он хочет. Так что это работает, когда нажатие на кнопку отправки загрузит график, но я хочу улучшить это.
В идеале, я хотел бы, чтобы (отправить кнопку или ссылку) можно было отправить форму с помощью javascript, но получить результат обратно и динамически добавить изображение на страницу. Я действительно не знаю, можно ли обработать форму с помощью некоторого JavaScript, который передаст данные в Google и вернет изображение, не покидая текущей страницы. Так я могу?
Я не могу использовать GET (что будет проще), потому что я могу достичь предела данных. Кроме того, гораздо проще, как я это делаю, генерировать эти формы в одну HTML-страницу (вместо нескольких страниц и с использованием iframes, которые будут делать то, что я хочу).
Вот фрагмент моей страницы с некоторыми диаграммами. Просто пример.
<tr class="chart-row">
<td colspan="2">
<form action="http://chart.apis.google.com/chart" method="POST" id="chartForm-idtestcasex2x32time">
<input type="hidden" name="cht" value="lc">
<input type="hidden" name="chs" value="800x375">
<input type="hidden" name="chtt" value="Performance Graph for SingleFrameNotNullSurface Time">
<input type="hidden" name="chts" value="FFFFFF,24">
<input type="hidden" name="chco" value="000000">
<input type="hidden" name="chls" value="2">
<input type="hidden" name="chm" value="o,006A71,0,-1,4">
<input type="hidden" name="chma" value="15,15,15,15">
<input type="hidden" name="chf" value="bg,s,006A71|c,s,CCDDDD">
<input type="hidden" name="chd" value="t:0.208,0.133">
<input type="hidden" name="chds" value="0.12,0.22">
<input type="hidden" name="chg" value="100,10">
<input type="hidden" name="chxt" value="x,x,y,y">
<input type="hidden" name="chxr" value="2,0.12,0.22,0.01">
<input type="hidden" name="chxl" value="0:|140|143|1:|Build Number|3:|Time (ms)">
<input type="hidden" name="chxp" value="1,50|3,50">
<input type="hidden" name="chxs" value="0,FFFFFF|1,FFFFFF,16|2N*f5*,FFFFFF|3,FFFFFF,16">
<input type="submit" value="Show Time Graph">
</form>
</td>
<td colspan="2">
<form action="http://chart.apis.google.com/chart" method="POST" id="chartForm-idtestcasex2x32fps">
<input type="hidden" name="cht" value="lc">
<input type="hidden" name="chs" value="800x375">
<input type="hidden" name="chtt" value="Performance Graph for SingleFrameNotNullSurface Time">
<input type="hidden" name="chts" value="FFFFFF,24">
<input type="hidden" name="chco" value="000000">
<input type="hidden" name="chls" value="2">
<input type="hidden" name="chm" value="o,006A71,0,-1,4">
<input type="hidden" name="chma" value="15,15,15,15">
<input type="hidden" name="chf" value="bg,s,006A71|c,s,CCDDDD">
<input type="hidden" name="chd" value="t:0,0">
<input type="hidden" name="chds" value="-1,1">
<input type="hidden" name="chg" value="100,25">
<input type="hidden" name="chxt" value="x,x,y,y">
<input type="hidden" name="chxr" value="2,-1,1,0.5">
<input type="hidden" name="chxl" value="0:|140|143|1:|Build Number|3:|Average FPS">
<input type="hidden" name="chxp" value="1,50|3,50">
<input type="hidden" name="chxs" value="0,FFFFFF|1,FFFFFF,16|2N*f5*,FFFFFF|3,FFFFFF,16">
<input type="submit" value="Show FPS Graph">
</form>
</td>
</tr>