首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Go Web服务器和Vue.js前台之间交换数据?http-post : 404

在Go Web服务器和Vue.js前台之间交换数据,可以通过HTTP POST请求来实现。下面是一个简单的步骤:

  1. 在Go Web服务器端,你可以使用标准库中的net/http包来创建一个HTTP服务器。你可以定义一个处理函数来处理POST请求,并在该函数中解析请求的数据。可以使用json.Unmarshal函数将请求的JSON数据解析为Go结构体。然后,你可以根据业务逻辑对数据进行处理,并将结果返回给前台。
  2. 在Vue.js前台,你可以使用axios库或者其他类似的库来发送HTTP POST请求到Go Web服务器。你需要指定请求的URL、请求方法为POST,并将数据以JSON格式发送给服务器。可以使用axios.post方法来发送POST请求,并传递需要发送的数据。

下面是一个示例代码:

在Go Web服务器端:

代码语言:txt
复制
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前台:

代码语言:txt
复制
// 使用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请求到服务器,并在响应中打印结果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券