我有一个使用MVC和AngularJS的Web应用程序,它连接到一个Web API 2 API,该API我已经在另一个项目中设置好。
目前,我可以毫无问题地从API检索信息。
然而,当我尝试进行HTTP Post时,我没有得到任何响应,最初我遇到了预飞请求失败的问题,现在我已经在我的控制器中处理了这个问题,但是在收到OK消息后,它并没有发送正确的请求。
我已经包括了我的Angular Factory和C# API Controller的代码。
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class RegisterController : ApiController
{
public string Post()
{
return "success";
}
public HttpResponseMessage Options()
{
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
}
}
var RegistrationFactory = function($http, $q, ApiAddress) {
return function(model) {
// $http.post(ApiAddress.getApiAddress() + '/Register/Post', model.ToString());
$http({
method: "POST",
url: ApiAddress.getApiAddress() + '/Register/Post',
data: model,
headers: { 'Content-Type': 'application/json; charset=utf-8' }
}).success(function(data) {
$location.path("/");
});
}
};
RegistrationFactory.$inject = ['$http', '$q', 'ApiAddress'];
编辑:
我仍然在努力解决这个问题,但我已经在Internet Explorer中进行了测试,没有任何问题。
通过禁用Web安全性,我已经让它在Chrome上运行,然而这显然不是理想的,因为��不能在启用安全性的用户PC上工作。