Javascript 将Go函数传递给html/js按钮;onclick";响应
我使用Go的“net/http”包在Go中的html和后端之间传递数据。例如,我们可以使用如下图像的位置:Javascript 将Go函数传递给html/js按钮;onclick";响应,javascript,html,go,button,go-templates,Javascript,Html,Go,Button,Go Templates,我使用Go的“net/http”包在Go中的html和后端之间传递数据。例如,我们可以使用如下图像的位置: <img src={{.MyPicture}} width=200 height=auto/> 现在我的问题是:如何设置按钮的响应以调用我的函数?我希望这能起作用,但事实并非如此: <button onclick={{.ShowMoreLinks}}>Show more!</button> 显示更多! 我得到了“[js]声明或语句”,我尝试将其包
<img src={{.MyPicture}} width=200 height=auto/>
现在我的问题是:如何设置按钮的响应以调用我的函数?我希望这能起作用,但事实并非如此:
<button onclick={{.ShowMoreLinks}}>Show more!</button>
显示更多!
我得到了“[js]声明或语句”,我尝试将其包装在脚本中(内联和标题中),但这两种方法都不起作用。JS无法处理传入的变量。实际上,您正在使用Go的模板机制来准备发送到浏览器的HTML。这只会填充占位符,最终只生成一个字符串(在本例中为HTML),该字符串将通过网络发送到浏览器进行解释。浏览器只能通过“onclick”等事件处理与用户的交互。此外,这些事件必须是Javascript代码,如JS表达式或函数调用:
onclick="jsFunction()"
您可以让Go模板提供要在占位符中调用的函数:
onclick="{{.JSFuncCall}}"
这里“.JSFuncCall”必须计算为您必须在JS客户端代码中定义的某个JS函数名(以及进行调用的括号)。然后,Javascript函数可以在某个特定URL处对服务器进行XHR调用,从而触发Go处理程序,运行要运行的Go代码,然后返回一个响应,然后可以在JS函数中处理。实际上,您正在使用Go的模板机制来准备发送到浏览器的HTML。这只会填充占位符,最终只生成一个字符串(在本例中为HTML),该字符串将通过网络发送到浏览器进行解释。浏览器只能通过“onclick”等事件处理与用户的交互。此外,这些事件必须是Javascript代码,如JS表达式或函数调用:
onclick="jsFunction()"
您可以让Go模板提供要在占位符中调用的函数:
onclick="{{.JSFuncCall}}"
这里“.JSFuncCall”必须计算为您必须在JS客户端代码中定义的某个JS函数名(以及进行调用的括号)。然后,该Javascript函数可以在某个特定URL处对服务器进行XHR调用,从而触发Go处理程序,运行要运行的Go代码,然后返回一个响应,然后可以在JS函数中处理该响应