Api контроллер возвращаемое значение Object объект в то время как в почтальоне API дают идеальный отупут
Это мой UserApiController ..
namespace ShoppingCart.Controllers
{
public class UserApiController : BaseApiController
{
[HttpPost]
public HttpResponseMessage Login(string username, string password)
{
return ToJson(db.usp_validateUser(username, password));
}
}
}
Это BaseApiController ....
namespace ShoppingCart.Controllers
{
[Route("api/UserApi")]
public class BaseApiController : ApiController
{
protected readonly aarshpatelEntities db = new aarshpatelEntities();
protected HttpResponseMessage ToJson(dynamic obj)
{
var response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(JsonConvert.SerializeObject(obj), Encoding.UTF8, "application/json");
return response;
}
}
}
И это мой сервис в угловых 2 ...
return this._http.post(apiUrl, model)
.map((res: Response) => {
let user = res.json();
if (user) {
sessionStorage.setItem('username', user['UserName']);
}
else {
alert("Username / Password is incorrect !!");
}
})
Что не так с кодом?? Я не могу понять это.
1 ответ
Это зависит от того, какую версию Angular вы используете..
Если вы используете HTTPCLIENT
..пытаться:
return this._http.post<YOURTYPE || any>(apiUrl, model)
.map((res: Response) => {
let user = res;
if (user) {
sessionStorage.setItem('username', user['UserName']);
}
else {
alert("Username / Password is incorrect !!");
}
})
Если вы используете Http
Поставщик:
return this._http.post<YOURTYPE || any>(apiUrl, model)
.map((res: Response) => {
let user = JSON.Parse(res.json())
if (user) {
sessionStorage.setItem('username', user['UserName']);
}
else {
alert("Username / Password is incorrect !!");
}
})
Надеюсь, это поможет вам!