Rust 未设置内容类型text/html
我正在使用Rust Rocket框架生成一个简单的网页 当转到索引页“/”时: 但是我的浏览器告诉我内容类型是文本/普通Rust 未设置内容类型text/html,rust,content-type,Rust,Content Type,我正在使用Rust Rocket框架生成一个简单的网页 当转到索引页“/”时: 但是我的浏览器告诉我内容类型是文本/普通 如何让Rocket正确响应text/html。我是做错了什么还是做了Rocket?默认情况下,Rocket将以text/plain响应,因此您必须使用它提供的内容模块覆盖它 您可以这样使用响应者: use rocket::response::content; #[get("/")] fn page_index() -> content::Html<&'s
如何让Rocket正确响应text/html。我是做错了什么还是做了Rocket?默认情况下,Rocket将以text/plain响应,因此您必须使用它提供的内容模块覆盖它 您可以这样使用响应者:
use rocket::response::content;
#[get("/")]
fn page_index() -> content::Html<&'static str> {
content::Html(r#"
<title>GCD Calculator</title>
<form action="/gcd" method="post">
<input type="text" name="n" />
<input type="text" name="n" />
<button type="submit">Compute GCD</button>
</form>
"#)
}
使用rocket::response::content;
#[获取(“/”)]
fn page_index()->content::Html解释了如何设置响应的内容类型。特别是,您需要:
使用rocket::response::content::Html;
#[获取(“/”)]
fn page_index()->Html使用rocket::response::content::Html代码>非常有效。我仍然想知道为什么火箭控制台告诉我“GET/text/html”
,但却向我发送“text/plain”
。哦,“text/html”来自请求中的Accept头,指示浏览器期望的类型。它只会影响使用时实际发送的内容。
GET / text/html:
=> Matched: GET /
=> Outcome: Success
=> Response succeeded.
use rocket::response::content;
#[get("/")]
fn page_index() -> content::Html<&'static str> {
content::Html(r#"
<title>GCD Calculator</title>
<form action="/gcd" method="post">
<input type="text" name="n" />
<input type="text" name="n" />
<button type="submit">Compute GCD</button>
</form>
"#)
}
use rocket::response::content::Html;
#[get("/")]
fn page_index() -> Html<&'static str> {
Html(r"<html>...</html>")
}