我在我的应用中使用Google Chart API并使用网址“http://chart.apis.google.com”生成图表
我收到错误“请求的网址太大而无法处理”,当我向此网址提供大量参数时。
在这种情况下我能做些什么?
答案 0 :(得分:3)
Google Charts API FAQ提供了以下建议:
Google Chart API的网址长度是否有限制?最大网址长度是多少?
网址的最大长度不是由Google Chart API决定的,而是由网络浏览器和网络服务器考虑决定的。在URL编码之后,Google在图表GET请求中接受的最长URL是2048个字符(例如,|变为%7C)。对于POST,此限制为16K。
如果网址长度有问题,以下是一些缩短网址的建议:
- 如果您使用的是文本编码数据格式,请从数字中删除前导零,删除小数点后的尾随零,并在小数点后舍入或截断数字。
- 如果这不足以缩短网址,请使用简单(1个字符)或扩展(2个字符)编码。
- 样本数据较少;即,减少粒度。
- 从图表中删除装备和装饰,例如颜色,标签和样式。
也找到了这个,但似乎没有答案/解决方案 http://groups.google.com/group/google-chart-api/browse_thread/thread/b47c1588b39d98ce
答案 1 :(得分:0)
如果是浏览器错误 - 浏览器的最大URL长度限制(IE 6/7限制为2,083):
答案 2 :(得分:0)
我正在获取HTTP 414,但我的URL长度不是问题(它是1881个字符),我已尝试过GET和POST。我的猜测是,当您请求的图表太“昂贵”而无法生成时,Google也会返回此错误。
答案 3 :(得分:0)
对我来说效果很好的方法是将所有值除以10或20并将结果转换为int(无逗号),但我将数字保留在轴上。这样,它的准确性稍差,但会减少网址中使用的字符数量。
代码示例:
$newSalesrank = $rank/20;
$rankdata .= intval($newSalesrank);
这解决了我的问题,我没有得到更多" url太长"错误,它在我的图表上看起来仍然很好 - 因为它看起来仍然相同,数字只是按比例缩小。
我知道已经有一个已接受的答案,但我希望我可以帮助解决这个问题,因为它很容易实现。
度过愉快的一天。