Cómo redirigir a una url

Me gustaría mostrarle al cliente otra página después de que se hayan recopilado los datos de la página anterior. Pero tengo problemas para redirigir la nueva URL en el lado del servidor. Aquí está mi lógica:

enviar la entrada del usuario con la acción POST al servidor;función de ejecución del servidor saveChoice () para guardar la entrada del usuario en una base de datos;Después de guardar la entrada del usuario, el servidor envía una nueva URL al cliente;Cuando el cliente OBTIENE la nueva URL, el servidor lee la base de datos y obtiene los datos guardados

Y estoy atascado en el paso 3 (aquí hay un ejemplo del flujo):

type Stuff struct{
    List []string
}

func checkcheck(w http.ResponseWriter, r *http.Request) {
    sinfo := Stuff{
        List: some_slice
    }

    t, err := template.New("").Parse(tpl_ds)
    checkErr(err)
    err = r.ParseForm()
    checkErr(err)
    err = t.Execute(w, sinfo)
    checkErr(err)

    if r.Method == "POST" {
        saveChoice(r.Form["choices"])
        /* step 3: make user open another URL */
    }
}

Y aquí está la plantilla:

<html>
<script>
  $(function () {
    $('form').on('submit', function (e) {
      e.preventDefault();
      $.ajax({
        type: 'post',
        data: $('form').serialize(),
      });
    });
  });
</script>
<body>
  <form method="POST">
    {{range .List}}
        <input type="checkbox" name="choices" value="{{.}}"> <span>{{.}}</span><br>
    {{end}}
    <input type="submit" value="Submit">
  </form>
</body>
</html>

¿Puedo saber cómo puedo redirigir a una nueva página?

PD. Si pongo URL en el botón, el servidor no ejecutará saveChoice ()

Respuestas a la pregunta(2)

Su respuesta a la pregunta