我正在尝试使用 Rust 构建一个简单的后端,但我不断遇到 CORS 错误。
我的反应前端说:
Access to XMLHttpRequest at 'http://127.0.0.1:3002/auth' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)
这是我的后端代码:
// Route Config //
pub fn routes(cfg: &mut web::ServiceConfig) {
cfg.route("/auth", web::get().to(auth_handler));
}
// Handler Config //
async fn auth_handler() -> impl Responder {
HttpResponse::Ok().json("Works")
}
#[actix_rt::main]
async fn main() -> io::Result<()> {
let app = move || App::new().configure(routes);
let _cors = Cors::permissive();
HttpServer::new(app).bind("127.0.0.1:3002")?.run().await
}
Run Code Online (Sandbox Code Playgroud)
据我了解, CORS::permissive() 函数应该允许所有跨站点交互工作。是我误解了文档,还是我实施错误了?
我想看看向量中有多少数字比前一个数字大。到目前为止,这是我的代码:
fn get_result(depths: &Vec<u32>) {
let mut result: Vec<u32> = Vec::new();
for (idx,num) in depths.iter().enumerate() {
if depths[idx - 1] > depths[idx] {
result.push(depths[idx]);
}
}
println!("{:?}", result);
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它给出以下错误:
thread main panicked at 'attempt to subtract with overflow'
Run Code Online (Sandbox Code Playgroud)
我知道这是由深度 [idx - 1] 引起的,但我不完全确定如何跟踪以前的索引。
我对这个错误感到非常困惑。我想做的就是使用 match 函数,但我不断收到语法错误,即使我相信这没有任何问题。
这是我的代码:
def compile(code):
code_ptr = 0;
mem_ptr = 0;
memory = [0] * 1000
loop = []
while code_ptr > len(code):
command = code[code_ptr]
match command:
case '>':
mem_ptr += 1
case '<':
mem_ptr -= 1
case: '+':
memory[mem_ptr] + 1
case '-':
memory[mem_ptr] - 1
code_ptr += 1
print(memory)
Run Code Online (Sandbox Code Playgroud)
这是错误:
match command:
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我正在运行Python 3.8.5
我正在尝试通过 Axios get 请求将 React 状态设置为对象数组。但是,当我尝试更新状态时,它显示为空数组。
我知道我从 API 收到了正确的响应,所以我认为在更新状态时我遗漏了一些东西。
这是我的代码:
const Home = () => {
const [movieTitle, setMovieTitle] = useState('');
const [searchResults, setSearchResults] = useState([]);
const handleChange = (e) => {
setMovieTitle(e.target.value);
};
const getMovieData = () => {
const apiKey = 'didntleakit';
const apiUrl = 'http://www.omdbapi.com/?apikey=' + apiKey + '&s=' + movieTitle;
Axios.get(apiUrl)
.then((res) => {
setSearchResults(res.data.Search);
});
console.log(searchResults);
};
return(
<div>
<p>Home page</p>
<TextField defaultValue="Movie" onChange={(e) => handleChange(e)}/>
<button onClick={getMovieData}/>
</div>
);
Run Code Online (Sandbox Code Playgroud)
};