Загрузка Google Chart на страницу через POST-запрос - PullRequest
0 голосов
/ 14 июня 2010

Итак, у меня есть страница, настроенная на использование 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>

1 Ответ

0 голосов
/ 14 июня 2010

Вы можете добавить параметры в URL и загрузить его как изображение с помощью JavaScript.

Я знаю, что вы сказали, что можете достичь лимита при получении запросов, но вот выдержка из: http://code.google.com/apis/chart/docs/making_charts.html, которая может вам помочь.

Политика использования Google Chart

Количество вызовов в день, которые вы можете совершать в Google Chart API, не ограничено. Тем не менее, мы оставляем за собой право блокировать любое использование, которое мы считаем оскорбительным. Если вы считаете, что ваш сервис будет совершать более 250 000 вызовов API в день , сообщите нам об этом, отправив оценку на адрес chart-api-notifications@google.com.

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...