Golang과 DB를 연결하여 주가 데이터를 그래프로 표시합니다.

9384 단어 HTMLGo주식 가격
저번 보도 진화 제작된 프로그램.

하고 싶은 일


지난번에 한 품종에 집중되어 데이터를 보였는데, 이번에는 텍스트 상자에 입력한 품종 코드를 바탕으로
나는 도표를 표시하는 기능을 만들고 싶다.

HOW TO DO

<body>
    <input id="stockcode" type="text" value="">
    <input id="btn" value="SHOW CHART" type="button" onclick="showChart()">
    <div id="chart_div" style="width: 1500px; height: 500px;"></div>
</body>
html에서 텍스트 상자와 단추를 준비하세요.
function send () {
    $.ajax({
        url: "/getdata/",
        type: 'post',
        data: {
            cd: $('#stockcode').val()
        },
        dataType: 'json' 
    }).done(function (data) {
        var priceData = []
        for (let i = 0; i < data.price.length; i++) {
            var array = data.price[i]
            priceData.push([array.time, array.low, array.open, array.close, array.high ])
        }

        var chartData = google.visualization.arrayToDataTable(priceData, true);

        var options = {
            legend:'none',
            candlestick: {
                fallingColor: { strokeWidth: 0, fill: "#1451a5" },
                risingColor: { strokeWidth: 0, fill: '#a52714' }
            },
        };

        var chart = new google.visualization.CandlestickChart(document.getElementById('chart_div'));
        chart.draw(chartData, options);
    })
}

function showChart() {
    send()
}
webserver.go
func getDataHandler(w http.ResponseWriter, r *http.Request) {
    cd := r.FormValue("cd")
    df, _ := models.GetData(cd)
    json.NewEncoder(w).Encode(df)
}

func StartWebServer() error {
    http.HandleFunc("/data/", dataHandler)
    http.HandleFunc("/getdata/", getDataHandler)
    return http.ListenAndServe(":8080", nil)
}
버튼을 누르면 aax로 데이터를 찾으려고 getdata 프로세서를 추가합니다.
aax로 cd 웹 서버를 사용합니다.매개 변수로 go에 전달되고 r.FormValue("cd")에서 수신됩니다.
그런 다음 GetData()에서 가져온 데이터(df)
Json 형식으로 변환(json.NewEncoder(w).Encode(df))만 돌려드릴게요.

결과


순조롭게 얻었다.

좋은 웹페이지 즐겨찾기