gpt4 book ai didi

javascript - JSON 无法将对象解码为字符串类型的 GO 值

转载 作者:IT王子 更新时间:2023-10-29 02:00:50 26 4
gpt4 key购买 nike

使用 github.com/zserge/lorca 包编写 Golang 应用程序。这将 golang 函数绑定(bind)到 Javascript。我有带有文本输入和提交按钮的 HTML,它应该将文本输入作为 arg 传递到 Javascript 绑定(bind)中。它看起来如下:

<input type="text" name="MACADD" style="height:20px; width:210px">
<input type="submit" value="submit" onclick="JSBINDFUNC(MACADD)">

JSBINDFUNC 采用 golang 类型 string 作为输入。当我点击提交时,它应该将为 MACADD 输入的文本作为参数传递到 JSBINDFUNC 函数中。

但是,我带着错误回来了

exception":{"type":"string","value":"json: cannot unmarshal object into Go value of type string"}

需要这个对象变成golang string

更完整的片段:

package main

import (
"fmt"
"log"
"net/url"

"github.com/zserge/lorca"
)

func main() {
ui, err := lorca.New("data:text/html,"+url.PathEscape(`
<html>
<form action="/action_page.php">
MAC Address:<br>
<input type="text" name="MACADD" style="height:20px; width:210px">
<input type="submit" value="Submit" onclick="JSBINDFUNC(MACADD)">
</form>
</body>
</html>
`), "", 480, 320)
if err != nil {
log.Fatal(err)
}
//ui.Bind implemented @ https://github.com/zserge/lorca/blob/master/ui.go#L110
ui.Bind("JSBINDFUNC", func(MAC string) {
fmt.Println(MAC)
return
})
defer ui.Close()
<-ui.Done()
}

最佳答案

问题出在您的 javascript 上。像这样更新您的 onclick 属性:

<input type="submit" value="Submit" onclick="JSBINDFUNC(MACADD.value)">

关于javascript - JSON 无法将对象解码为字符串类型的 GO 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55383686/

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