在Go Web服务器和Vue.js前台之间交换数据,可以通过HTTP POST请求来实现。下面是一个简单的步骤:
net/http
包来创建一个HTTP服务器。你可以定义一个处理函数来处理POST请求,并在该函数中解析请求的数据。可以使用json.Unmarshal
函数将请求的JSON数据解析为Go结构体。然后,你可以根据业务逻辑对数据进行处理,并将结果返回给前台。axios
库或者其他类似的库来发送HTTP POST请求到Go Web服务器。你需要指定请求的URL、请求方法为POST,并将数据以JSON格式发送给服务器。可以使用axios.post
方法来发送POST请求,并传递需要发送的数据。下面是一个示例代码:
在Go Web服务器端:
package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
)
type RequestData struct {
Message string `json:"message"`
}
type ResponseData struct {
Result string `json:"result"`
}
func handlePostRequest(w http.ResponseWriter, r *http.Request) {
// 解析请求的数据
var requestData RequestData
err := json.NewDecoder(r.Body).Decode(&requestData)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
// 处理数据并生成响应
responseData := ResponseData{
Result: "Hello " + requestData.Message,
}
// 将响应数据转换为JSON格式
responseJSON, err := json.Marshal(responseData)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
// 设置响应头并返回响应数据
w.Header().Set("Content-Type", "application/json")
w.Write(responseJSON)
}
func main() {
http.HandleFunc("/api", handlePostRequest)
log.Fatal(http.ListenAndServe(":8080", nil))
}
在Vue.js前台:
// 使用axios发送POST请求
axios.post('/api', {
message: 'World'
})
.then(function (response) {
console.log(response.data.result);
})
.catch(function (error) {
console.log(error);
});
在上述示例中,Go Web服务器监听8080端口,并提供/api
路径来处理POST请求。当收到POST请求时,服务器会解析请求的JSON数据,并根据业务逻辑生成响应数据。前台使用axios库发送POST请求到服务器,并在响应中打印结果。
没有搜到相关的文章