Javascript 如何操作我们在golang发送和接收的数据
如何解码以javascript发送到服务器的json对象 并将它们保存到变量op1、op2、opr 在java脚本中,我想解码服务器发送的响应并保存它 java脚本代码:Javascript 如何操作我们在golang发送和接收的数据,javascript,json,go,request,httpwebresponse,Javascript,Json,Go,Request,Httpwebresponse,如何解码以javascript发送到服务器的json对象 并将它们保存到变量op1、op2、opr 在java脚本中,我想解码服务器发送的响应并保存它 java脚本代码: var calculate = { operand1 : null, operand2 : null, operator : null }; function UserAction() { var xhttp = new
var calculate = {
operand1 : null,
operand2 : null,
operator : null
};
function UserAction() {
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "http://localhost:8000/", true);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.send(calculate);
var response = (xhttp.responseText);
console.log(response);
}
UserAction();
go服务器代码:
package main
import ("fmt"
"net/http"
"encoding/json"
)
type answer struct {
result float64
}
func index(w http.ResponseWriter, r *http.Request) {
ans := answer{result: 30}
fmt.Println(r)
w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
w.Header().Set("Access-Control-Allow-Origin", "*")
w.WriteHeader(http.StatusOK)
if err := json.NewEncoder(w).Encode(ans); err != nil {
panic(err)
}
}
func main() {
http.HandleFunc("/",index)
http.ListenAndServe(":8000", nil)
}
与在http响应中用json编码有效负载的方法相同,您也可以解码请求体
err:= json.NewDecoder(request.Body).Decode(&answer);
阅读Go文档以备将来参考,并避免任何第三方教程没有明确参考文档
当我回答你的问题时,这是一个非常低的努力,就像你刚才问的那样:避免这样做。阅读文档,花点时间熟悉go。注意,您不能对未报告的字段(如“结果”)进行编码或解码。