使用 JSONP 向不同域的服务器请求数据。如果查询参数存在回调,则将回调添加到响应体中。

jsonp.go:

package main

import "github.com/gin-gonic/gin"

func main() {
	r := gin.Default()

	r.GET("/JSONP", func(c *gin.Context) {
		data := map[string]interface{}{
			"foo": "bar",
		}

		c.JSONP(200, data)
	})

	r.Run(":8080")
}

运行后访问 http://127.0.0.1:8080/JSONP?callback=myfunc

输出如下:

myfunc({"foo":"bar"});