我正在尝试实现一个将简单表单数据发送到Go网络服务器的ajax请求,然后在对客户端(网站)的响应中返回相同的值。
javascript中的Ajax请求:
sudo apt-get upgrade
}
我收到的浏览器控制台出现错误,说“xhttp.send();”中出现了内部服务器错误。
来自网络服务器的代码:
function addWheel(){
title = document.getElementById('title').value;
desc = document.getElementById('desc').value;
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
}
};
xhttp.open("GET", "/getCardInfo?title=" + title + "&desc=" + desc, true);
xhttp.send();
}
它一直运行而不会丢失任何错误。看起来它在w.Write(a)发送它,所以我假设我的javascript中存在问题。变量d Data只是一个包含2个字符串的结构。
handle函数在main中定义如下:func ajaxHandler(w http.ResponseWriter, r *http.Request) {
//parse request to struct
fmt.Println("Ajaxhandler")
var d Data
err := json.NewDecoder(r.Body).Decode(&d)
q := r.URL.Query()
d.Title = q.Get("title")
d.Desc = q.Get("desc")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
// create json response from struct
a, err := json.Marshal(d)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
_, err = w.Write(a)
if err != nil {
fmt.Println("handle error")
}
任何人都可以看到错误所在吗?