问题描述:当尝试从Querystring中获取页面名称时,ReactJS无法获取页面。在ASP.NET Web API和ReactJS应用程序中,应该如何正确获取页面名称?
解决方案:
1.从query string获取页面名称 在ReactJS组件中,默认情况下不支持从query string中获取参数。解决方法为使用“react-router”。它是ReactJS的一个扩展,提供了一些工具来管理SPA中的路由。通过以下代码可以从query string中获取页面名称:
//importing React Router components import { BrowserRouter as Router, Route } from 'react-router-dom';
function App() {
return (
2.从API获取页面名称 在ASP.NET Web API中,通过以下代码将页面名称返回给客户端。
[HttpGet] [Route("api/page/{id}/name")] public HttpResponseMessage GetPageNameById(int id) { var name = GetPageNameFromId(id); var response = new HttpResponseMessage(HttpStatusCode.OK); response.Content = new StringContent(name, Encoding.UTF8, "text/plain"); return response; }
在ReactJS组件中,可以通过以下代码从API获取页面名称:
function Page() { const [name, setName] = useState('');
useEffect(() => {
const getPageName = async () => {
const response = await fetch(/api/page/${id}/name
);
const data = await response.text();
setName(data);
}
getPageName();
}, []);
return (
通过上述步骤,可以正确地从查询字符串中获取页面名称并从API获取页面名称。
上一篇:ASP.NETWebAPI运行时AddDbContext未被初始化
下一篇:ASP.NetWebAPI在ApiController.cs文件包含iTextSharp命名空间时返回500内部服务器错误。