【发布时间】:2017-01-20 00:33:38
【问题描述】:
这是我得到的错误:
XMLHttpRequest 无法加载“http://localhost:49873/api/home”。回复 预检请求未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。 Origin '//localhost:3000' 因此不允许访问。 响应的 HTTP 状态代码为 400。
这是我的控制器:
[EnableCors(origins: "http://localhost:3000", headers: "Access-Control-Allow-Origin", methods: "GET, POST")]
public class HomeController : ApiController
{
[HttpPost]
public IHttpActionResult Post([FromBody] book inbook)
{
book fromangular = inbook;
var body = this.Request.Content.ReadAsAsync<book>();
return Ok(fromangular);
}
}
这是我的 Angular 2 代码:
postBook(inBook: book)
{
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
let x = JSON.stringify(inBook);
var res = this._http.post(booksUlr, x, { headers }).map((response:
Response ) => response.json()).subscribe();
return;
}
任何帮助将不胜感激。
【问题讨论】: