go + jq ajax发布数据到服务器并发送数据到客户端示例代码
这里使用场景:在go语言中如何接收JQuery的AJAX所发布的数据并进行回复。
Golang Jquery AJAX代码示例:
package main
import (
"fmt"
"net/http"
)
func Home(w http.ResponseWriter, r *http.Request) {
html := `<head>
<script src='//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js'></script>
</head>
<html>
<body>
<h1>Golang Jquery AJAX示例</h1>
<div id='result'><h3>before</h3></div><br><br>
<input id='ajax_btn' type='button' value='通过AJAX向Golang服务器发送POST'>
</body>
</html>
<script>
$(document).ready(function () {
$('#ajax_btn').click(function () {
$.ajax({
url: 'receive',
type: 'post',
dataType: 'html',
data : { ajax_post_data: 'hello'},
success : function(data) {
alert('ajax data posted');
$('#result').html(data);
},
});
});
});
</script>`
w.Write([]byte(fmt.Sprintf(html)))
}
func receiveAjax(w http.ResponseWriter, r *http.Request) {
if r.Method == "POST" {
ajax_post_data := r.FormValue("ajax_post_data")
fmt.Println("接收ajax帖子数据字符串 ", ajax_post_data)
w.Write([]byte("<h2>after<h2>"))
}
}
func main() {
// http.Handler
mux := http.NewServeMux()
mux.HandleFunc("/", Home)
mux.HandleFunc("/receive", receiveAjax)
http.ListenAndServe(":8080", mux)
}
在终端上运行这段代码,将你的浏览器指向
http://127.0.0.1:8080
会出现一个按钮,点击该按钮,在你的浏览器和终端输出上看到结果。
相关文章