我正在运行一个 NginX 服务器,该服务器托管在“pocket-caravan.com”的 Digital Ocean Droplet 上。
目标是构建链接到所有 css/js/images 的 React 包,并使用 nginx 处理静态内容服务。API 服务器是一个在某个端口上运行的 Express 应用程序,我将来自静态包的所有请求代理到此。
当我在本地开发时,我可以从前端将 JSON 数据发送到我的 API。
当我部署 API 时,我可以通过 Postman 发送 JSON 有效负载
但问题是,当我通过访问 NginX 提供的静态文件来访问我的应用程序,并向实时 API 发送 POST 请求时,该文件req.body是空的!
我可以检查 JS 控制台并看到提取请求正确发送 JSON 数据正文。
请求正确路由到实时 API,但数据为空!NginX 代理不传递请求正文,我不知道为什么?
我有一个问题 - 虽然我可以访问所有静态文件,但我的 API 请求正在被代理并正确路由到 API,但是当 Express 访问时req.body,它是空的!
/etc/nginx/sites-available/pocket-caravan.com
server {
root /var/www/pocket-caravan.com/html;
index index.html index.html index.nginx.debian.html;
server_name pocket-caravan.com www.pocket-caravan.com;
location /omni-commerce {
index index.html;
}
location /static {
try_files /omni-commerce/$uri /omni-commerce/$uri/;
} …Run Code Online (Sandbox Code Playgroud) 我有一个 React 项目 - 我将一个附加onClick到滚动到页面上特定元素的标题导航链接。我正在生成 React refs,并使用元素的 Y 位置输入到Window.scrollTo()函数调用中。
这是代码:
class Component extends React.Component {
constructor(props) {
this.menuRef = React.createRef()
}
scrollToRef(ref, instructions, event, arg2) {
if (event) event.preventDefault()
let pageOffSet = 200
if (this.state.topOfPage) {
pageOffSet = 200
} else if (!this.state.topOfPage) {
pageOffSet = 150
}
window.scrollTo({top: (ref.current.offsetTop - pageOffSet), behavior: "smooth"})
}
render(){return(
// Pseudocode...
<button onClick={() => this.scrollToRef(this.menunRef, "contact", event)}
<div ref={this.menuRef}/>
)}
}
Run Code Online (Sandbox Code Playgroud)
预期行为:窗口向下滚动到 ref Y 坐标,根据函数收到的“指令”响应状态变化(我省略了 setState 调用) 实际行为:在大多数浏览器中工作。在默认的 Android …