如何在Golang http.request对象中读取自定义ajaxParams

8nuwlpux  于 2023-02-06  发布在  Go
关注(0)|答案(1)|浏览(174)

我们有以下ajaxParams:

var ajaxParams = {
        type: 'POST',
        url: '/golang_endpoint',
        dataType: 'json',
        customParam: 'customParam',
        success: onResponse,
        error: onError,
    };

Golang是否可以读取以*http.Request对象形式出现在关联Golang处理程序中的自定义属性?

idfiyjo8

idfiyjo81#

这些参数用于执行 AJAX 请求,它们不是实际到达服务器的数据。您应该将其作为POST请求的数据传递,如下所示:

var ajaxParams = {
    type: 'POST',
    url: '/golang_endpoint',
    dataType: 'json',
    data: {customParam: 'customParam'},
    success: onResponse,
    error: onError,
};
$.ajax(ajaxParams);

然后,在Go端,您只需根据需要处理数据,例如:

type MyStruct {
    customParam string `json:"customParam"`
}

func HandlePost(w http.ResponseWriter, r *http.Request) {
    dec := json.NewDecoder(r.Body)
    var ms MyStruct

    err := dec.Decode(&ms)
    if err != nil {
        panic(err)
    }

    fmt.Println(ms.customParam)
}

假设你希望你的param是一个字符串。无论哪种方式你都可以把它转换成你想要的类型。

相关问题