go + jq ajax发布数据到服务器并发送数据到客户端示例代码

2023-06-01 00:00:00 数据 客户端 示例

这里使用场景:在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

会出现一个按钮,点击该按钮,在你的浏览器和终端输出上看到结果。

相关文章