2010-06-14 2 views
0

Итак, у меня есть страница, настроенная для использования API диаграммы Google через запросы POST. У меня есть несколько диаграмм, чтобы рисовать каждый с кнопкой отправки, чтобы пользователь мог просмотреть любую диаграмму, которую они хотят. Таким образом, он работает там, где нажатие submit будет загружать диаграмму, но я хочу улучшить это.Загрузка Google Chart на страницу по запросу 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> 
+0

На данный момент я перешел на флот и jquery. Удачи, если у кого-то есть аналогичная проблема. – Matt

ответ

0

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

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

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

Там нет ограничения на количество звонков в день вы можете сделать в Chart API Google. Однако мы оставляем за собой право блокировать любое использование, которое мы считаем оскорбительным. Если вы считаете, что ваша услуга сделает более 250 000 вызовов API в день, пожалуйста, сообщите нам, отправив расценку на [email protected]

+0

Правильно, но я ожидаю около 150 точек данных, которые начнут ударять по пределу данных 2k в GET, и я бы предпочел играть на этом уровне безопасности на этом этапе. Однако я не беспокоюсь о чрезмерном количестве запросов. – Matt

Смежные вопросы