gpt4 book ai didi

javascript - 根据 JavaScript/JSON/Ajax 从 Go-Variable 中获取 Struct/Variables

转载 作者:行者123 更新时间:2023-12-01 22:13:15 26 4
gpt4 key购买 nike

我目前正在尝试将变量(在本例中为 JS 变量 Data 中的结构数组)发送到我的网站。此外,我想从我的 TextField 中读取一个字符串并以它作为参数触发一个函数。我的问题是,如何从 Go/Javascript 获取/接收/发送变量?现在它甚至没有调用 fillChoiceBox() 函数。我将其设置为 onClick 函数,但没有任何 react 。一个代码示例会非常好。

这是我的 Golang 代码:

//Klimakammer struct
type klimakammer struct {
Name string `json:"name"`
Hersteller string `json:"hersteller"`
IP string `json:"ip"`
SollTemp string `json:"solltemp"`
IstTemp string `json:"isttemp"`
SollFcht string `json:"sollfcht"`
IstFcht string `json:"istfcht"`
kammerstart bool
kammerstop bool
}

//Ct01 Klimakammern erstellen
var Ct01 = klimakammer{"ct01", "weiss", "10.0.62.22", "", "", "", "", false, true}

//Kammern - Fill Klimakammer Array
var Kammern = []klimakammer{
Ct01,
}

func main() {

fs := http.FileServer(http.Dir("./static/"))
http.Handle("/", fs)

http.ListenAndServe(":8080", nil)

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
buff, _ := json.Marshal(&Kammern)
fmt.Fprintln(w, string(buff))
})

}

和我的 JS 代码:
function fillChoiceBox() {

**//That was my first try (But it never found the URL "/getKammer"):**
// $.ajax({
// url: "http://localhost:8080/getKammer",
// method: "GET",
// function(data) {
// var $dropdown = $("#Kammer");
// for( i=0; i <= data.length; i++) {
// $dropdown.append($("<option />").val(data[i]).text(this.name));
// $("#getKammer").prop('disabled', true);
// }
// },
// })
var i;
var $dropdown = $("#Kammer");
for( i=0; i <= data.length; i++) {
$dropdown.append($("<option />").val(data[i]));
}
$("#getKammer").prop('disabled', true);
}

最佳答案

这是从典型 Go 服务器发送和获取数据的示例代码。在实现之前,我建议通过 this关于使用 Go 编写 Web 应用程序的博客。

package main

import (
"encoding/json"
"log"
"net/http"
)

type Foo struct {
Field1 string `json:"field1"`
Field2 int `json:"field2"`
}

func main() {
http.HandleFunc("/foo", func(w http.ResponseWriter, r *http.Request) {
var f Foo
if err := json.NewDecoder(r.Body).Decode(&f); err != nil {
panic(err)
}
defer r.Body.Close()

log.Println("foo: ", f)
w.WriteHeader(http.StatusOK)
})

http.HandleFunc("/bar", func(w http.ResponseWriter, _ *http.Request) {
f := Foo{"bar", 20}
w.Header().Set("Content-Type", "application/json")
if err := json.NewEncoder(w).Encode(&f); err != nil {
panic(err)
}
})

panic(http.ListenAndServe(":3030", nil))
}

/*
JS Code to post data:

$.ajax({
url: "http://localhost:3030/foo",
method: "POST",
data: JSON.stringify({field1:"foo",field2:10}),
success: function() {
console.log('done');
}
})

JS Code to get data:

$.ajax({
url: "http://localhost:3030/bar",
method: "GET",
success: function(data) {
console.log(data);
}
})
*/

关于javascript - 根据 JavaScript/JSON/Ajax 从 Go-Variable 中获取 Struct/Variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62296803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com