在ASP.NetCoreMVC中读取JSONpost数据想办法解决,结果都是以前的ASP版本。网。我正在使用JWT身份验证中间件并具有以下方法:privateasyncTaskGenerateToken(HttpContextcontext){varusername=context.Request.Form["username"];varpassword=context.Request.Form["密码"];//登录代码的剩余部分}这将发送的数据视为表单数据,但我的Angular2前端将数据发送为JSON。登录(用户名:字符串,密码:字符串):Observable{letheaders=newHeaders({'Content-Type':'application/json'});让options=newRequestOptions({headers:headers});letbody=JSON.stringify({username:用户名,password:密码});returnthis.http.post(this._api.apiUrl+'token',body,options).map((response:Response)=>{});我首选的解决方案是将其作为JSON发送,但我一直未能成功检索数据。我知道它正在发送,因为我可以在fiddler中看到它,如果我使用Postman并只发送表单数据就可以了。基本上我只需要弄清楚如何更改此行以读取json数据varusername=context.Request.Form["username"];当它到达你的中间件时,请求流已经被读取,所以你可以在WhatthisdoesisrequestMicrosoft.AspNetCore.Http.Internal.EnableRewindonitandreaditwidesitewideyourself:Startup.cs使用Microsoft.AspNetCore.Http.Internal;Startup.Configure(...){...//我们在UseMvc之前添加的倒带很重要app.Use(next=>context=>{context.Request.EnableRewind();returnnext(context);});app.UseMvc()...}oroptionally:以上是C#学习教程:阅读ASP.NetCoreMVC中JSONpost数据分享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注—privateasyncTaskGenerateToken(HttpContextcontext){context.Request.EnableRewind();stringjsonData=newStreamReader(context.Request.Body).ReadToEnd();...}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
