javascript - golang 模板中的 src 属性

标签 javascript html web go

在 golang 服务器上执行模板时,我遇到一个问题,html 文件中的 src 属性搜索导入的 javascript 文件不在根位置(服务器文件夹),而是在处理的 url 下方。因此,请求 src='/dir/file.js' 的当前位置如 http://localhost:8080/handled/ 将对 http 发出 GET 请求://localhost:8080/handled/dir/file.js

package main

import ("net/http"; "html/template")

var templates = template.Must(template.ParseFiles("././dir/file.html"))

type Page struct {
  Title string
  Body  []byte
}

func testHandler(w http.ResponseWriter, r *http.Request) {
  page := Page{"handled", nil}

  err := templates.ExecuteTemplate(w, "file.html", p)
  if err != nil {
    http.Error(w, err.Error(), http.StatusInternalServerError)
  }
}

func main() {
  http.HandleFunc("/handled/", testHandler)
  http.ListenAndServe(":8080", nil)
}

因此,模板 file.html 包含以下行:

<!-- file.html
javascript placed right inside template file is working,
but I didnt managed to get to work src insertation -->
<script src="file.js"></script>

...file.js 与 file.html 共享同一目录。 我尝试了不同的文件位置和各种路径组合。看来我做错了。

最佳答案

如果您的浏览器正在请求/handled/dir/file.js,那么您的 src 必须缺少初始正斜杠。这不是 Go 特定的问题。

我看到你说你请求的文件有 src="/dir/file.js",但是在你的例子中你显示 src="file.js",所以我不确定你到底有什么。但是,您的问题仍然表明忘记了第一个斜杠,例如 src="dir/file.js"

关于javascript - golang 模板中的 src 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24377759/

相关文章:

javascript - 如何在自定义 highcharts 按钮中垂直居中文本

html - 随机颜色 CSS - 防止使用两次

javascript - 来自控制台 : extract links from page, 的纯 javascript 模拟点击到另一个页面并执行相同操作

javascript - Node.js 中的 POST 请求

javascript - 三个 JS 旋转组,与 View Cube/Orientation Cube 的相机方向相同

javascript - 在 Bootstrap 表上使用 slimscroll 的正确方法是什么?

javascript - HTML 部分和 div 固定大小

javascript - React BrowserRouter - 如何以编程方式导航到不同的路线?

javascript - Globalize.js E_DEFAULT_LOCALE_NOT_DEFINED 错误

javascript - 如何重用缓存的ajax请求?