我想使用库kotlin-html来生成 html 而不是 kotlinx.html。这个库只生成一个 html 文本:
p("A paragraph").render()
// => <p>A paragraph</p>
Run Code Online (Sandbox Code Playgroud)
但我找不到如何使用 Ktor 响应 html 而不是文本
fun Routing.root() {
get("/") {
call.respondText {"<p>A paragraph</p>"}
}
}
Run Code Online (Sandbox Code Playgroud)
此代码将生成一个包含文本的页面,<p>A paragraph</p>而不是 html 页面。而且似乎call.respondHtml只适用于 kotlinx.html DSL。我怎样才能使用纯文本来做到这一点?
cargo run或cargo rebuild忽略任何代码更改。
我有一个程序
fn main() {
println!("Hello, World!");
}
Run Code Online (Sandbox Code Playgroud)
然后我就cargo run看到了:
fn main() {
println!("Hello, World!");
}
Run Code Online (Sandbox Code Playgroud)
然后我将代码更改为:
fn main() {
println!("Hello, Worldaefafeff!");
print!("22222412414");
}
Run Code Online (Sandbox Code Playgroud)
cargo run再次:
Compiling myproject v0.1.0 (/Volumes/.../myproject)
Finished dev [unoptimized + debuginfo] target(s) in 0.52s
Running `target/debug/myproject`
Hello, World!
Run Code Online (Sandbox Code Playgroud)
即使我看到“编译”行,这意味着cargo知道文件已更改,但输出是相同的。当我跑步时也会发生同样的情况cargo build。cargo clean我每次都需要跑步吗?
我看到很多人说我做错了。我在一个终端上重复了所有步骤。有什么不对?
fn main() {
println!("Hello, Worldaefafeff!");
print!("22222412414");
}
Run Code Online (Sandbox Code Playgroud)
“编译”发生了,但输出是相同的。第二次没有“编译”步骤。我显然不明白我做错了什么。
毫无疑问,倒数第二个发射实际上显示了“Hello,worl”。我确实正确复制了终端内容
Compiling myproject v0.1.0 (/Volumes/.../myproject)
Finished dev [unoptimized + debuginfo] target(s) in …Run Code Online (Sandbox Code Playgroud) 我在通过弹出脚本中的 chrome 扩展程序处理 cookie 时遇到了一些麻烦。
popup.js 内容:
document.addEventListener('DOMContentLoaded', () => {
function cookieinfo() {
chrome.cookies.getAll({url: 'http://localhost:8080'}, function(cookie) {
console.log('Found cookie: ', cookie)
if (cookie == null)
return;
fetch('http://localhost:8080', {credentials: 'include'}).then((response) => {
// do some stuff
return response;
});
});
}
window.onload=cookieinfo;
}, false);
Run Code Online (Sandbox Code Playgroud)
我执行的步骤:
也许有人知道我做错了什么?
编辑:
看来原因是我的cookie有参数HttpOnly=true和SameSite=Lax(相关链接)。我可以在服务器日志中看到另一个 cookie。但是由于这个线程,如果credentials参数设置为include,则所有 cookie 都将被发送,即使是 httpOnly cookie。由于这个答案,我也尝试将它发送到 …
javascript cookies httponly google-chrome-extension samesite