我想請問一下關於http.post的方式應該如何撰寫呢?
不知道為什麼怎麼寫都會報錯(500),但是http.get倒是滿順利的
我的程式碼如下:
private headers = new Headers({‘Content-Type’: ‘application/x-www-form-urlencoded’});
LoginVerifi(account: String, password: String)
// 登入驗證
{
this.http
.post('http://hplus.ys3s.com/api/Login/VerifiData', JSON.stringify({account: account, password: password}), {headers: this.headers} )
.toPromise()
.then(res => console.log(res.json()));
}
然後錯誤訊息如下:
主要錯誤訊息我看到的是跨網域相同來源政策的問題,但我在C#端也有加上讓他允許跨網域
另外我自己寫的get方法是ok的。所以我在想是不是沒有找到我後端的function才報錯
另外附上後端C# WebApi的code
public class LoginController : BaseController
{
[HttpPost]
[Route("api/Login/VerifiData")]
[EnableCors(
origins: "http://localhost:4200",//設定允許哪些來源網址,允許存取此web API
headers: "accept,content-type,origin",
methods: "post")]
public IHttpActionResult LoginVerifi([FromBody] users data)
{
var session = System.Web.HttpContext.Current.Session;
var LoginInfo = db.users.Where(x => x.account.Equals(data.account) && x.password.Equals(data.password)).First();
if (LoginInfo.member.Count != 0)
{
session.Add("account", LoginInfo.account);
return Ok("Success");
}
else
{
return Ok("Faile");
}
}
}