簡體   English   中英

如何在服務器上的腳本中提取與URL關聯的參數,這些參數與從Google圖表獲取圖表有關?

[英]How to extract parameters attached to a URL in a script on the server related to get diagrams from Google Charts?

我試圖在我的Web空間上設置一個服務,該服務將接收附加到URL的參數。 然后使用腳本將其提取到服務器上,以用接收到的參數替換默認參數以生成圖表。

我只從事html,javascript,jquery和google圖表約一個星期。 在某些方面獲得了一些快速的在線教程。 所以我是新手。 請原諒術語錯誤!

基本上,在Web瀏覽器中,URL將帶有附加參數輸入。 服務器上的腳本接收URL,提取參數並將其放在代碼中默認值所在的位置。 index.htm文件中的代碼定義了Google圖表的屬性。 url參數是列的值。 從該請求發送到Google Charts API的請求,該請求返回生成的圖形,然后該圖形在用戶的瀏覽器窗口中可見。

我為該圖制作了示例代碼(請參見附件)。 現在,我正在尋找一種簡單的方法來完成上面所述的操作。 我已經讀過有關“ param”,“ get”,“ set”的文章,並且看到了許多示例代碼,帶有或不帶有jquery等。每個人都以自己的方式進行操作,並且具有各種復雜性。代碼,但有很多我無法解決的錯誤。不幸的是,對於某些代碼,准確地放在哪里對我來說並不明顯,例如在示例中它位於某個位置,這對我來說不起作用(對不起)我包含了更多的代碼行,就像平常人在這里向您展示的那樣,但是我必須理解它)。

您能幫我一下,在我提供的示例代碼中為圖表的三列顯示該示例嗎?

該網址可能如下所示: https : //example.org/?c1=10&c2=12&c3=7

為了簡單起見,代碼中的參數具有相同的名稱c1,...。 此外,代碼圖片: https : //imgur.com/ns1hL2P

感謝您的任何幫助! 凱登

<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="chartA"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChartColumnChart);
function drawChartColumnChart(){
    var data = google.visualization.arrayToDataTable([['',''],['c1',1],['c2',2],['c3',3]
],false);
    var options = {"axisTitlesPosition":"out","width":"900","height":"500","focusTarget":"datum",
    "animation":{"easing":"linear"},"bars":"horizontal"};
    var chart = new google.visualization.ColumnChart(document.getElementById('chartA'));
    chart.draw(data, options);
}
</script>
</body>
</html>

您可以使用getParameterByName(name, url)提取參數

 var url = 'https://example.org/?c1=10&c2=12&c3=7' function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\\[\\]]/g, '\\\\$&'); var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\\+/g, ' ')); } var c1 = getParameterByName('c1', url); console.log(c1); // your function liket this /* function drawChartColumnChart(){ var c1 = getParameterByName('c1', url); var c2 = getParameterByName('c2', url); var c3 = getParameterByName('c3', url); var data = google.visualization.arrayToDataTable([['',''],['c1',c1],['c2',c2],['c3',c3]; ],false); */ 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM