Ben*_*rpe 17 c# asp.net-mvc angularjs asp.net-web-api2
我有一个使用MVC和AngularJS的Web应用程序,它连接到Web API 2 api,我在一个单独的项目中设置.
目前,我能够从Api中检索信息,没有任何问题.
然而,当我尝试做一个HTTP Post时,我没有得到任何响应,最初我遇到了飞行前请求失败的问题,我现在已经在我的控制器中处理了这个问题,但是在它获得后它没有发送正确的请求好消息回来了.
我在API中包含了Angular Factory和C#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'];
Run Code Online (Sandbox Code Playgroud)
编辑:
我仍然对此没有任何喜悦,但是我在Internet Explorer中测试过它并没有任何问题.
通过禁用Web安全性开始,我已经使用chrome工作了,但显然这并不理想,因为它不适用于启用了安全性的用户PC.
我看到你已经在服务器端做了CORS的适配。但我看不到任何客户端(javascript)适配。也许您应该在调用服务之前添加以下代码。
$http.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
Run Code Online (Sandbox Code Playgroud)
让我知道这是否可以解决问题。在所有情况下都为我工作:)
| 归档时间: |
|
| 查看次数: |
2270 次 |
| 最近记录: |